2024/08/14(水) [n年前の日記]
#1 [nitijyou] 貰ったPCパーツについてメモ
弟が色々なPCパーツを持ってきてくれた。メモしておかないと何を貰ったのか絶対忘れてしまうのでメモ。
_Ryzen 5 PRO 4650Gのスペックレビュー&性能ベンチマークを検証【2024年】 | ゲーミングPC徹底解剖
_XPG SX8200 Pro PCIe Gen3x4 M.2 2280ソリッドステートドライブ
_価格.com - ADATA XPG SX8200 Pro ASX8200PNP-2TT-C スペック・仕様
_大容量モデルのラインナップが増加したHDD - AKIBA PC Hotline!
_回転数7,200rpmのHGST製NAS用HDD「Deskstar NAS」から4TBと6TBモデルが発売 - エルミタージュ秋葉原
_価格.com - 東芝 MQ01ABF050 [500GB 7mm] スペック・仕様
_TOSHIBA MQ01ABF050 - 製品詳細 | パソコンSHOPアーク(ark)
_ZM-VE200SE | ZALMAN ストレージ関連 | 株式会社アスク
_Zalman ZM-VE200 USB powered : Free Download, Borrow, and Streaming : Internet Archive
_ZM-VE400シリーズ | ZALMAN ストレージ関連 | 株式会社アスク
_大事なデータを手軽に保護! 暗号化機能付きHDDケース「ZM-VE400」 | 株式会社アスク
_Zalman ZM-VE400 : Free Download, Borrow, and Streaming : Internet Archive
_USB-C - SATA 変換アダプター REX-U30ST3-C[RATOC]
_USB-HAS410BK 個別スイッチ付き4ポートUSB3.0ハブ - サンワサプライ株式会社
_ASUS ZenFone 5 (A500KL) 端末仕様|hi-ho
_HDE-13A | Ainex
AMD Ryzen 5 PRO 4650G は、親父さん用PCの AMD Ryzen 5 2400G を置き換えるつもりで持ってきたらしい。Ryzen 5 2400G はWindows11のサポート対象外だけど、Ryzen 5 PRO 4650G ならサポートしてるので…。
弟曰く、2.5インチHDD群をPC環境から排除したいと思っていたそうで、そのあたり色々譲ってもらえた。ISOファイルを入れておくと光学ドライブが繋がってるように見せてくれるHDDケースが便利そう。
- AMD Ryzen 5 PRO 4650G (バルク版, Zen2, 7nm, 6C/12T, 3.7/4.2GHz, L3 8MB, TDP65W, 2020/07/21発売)
- SSD ADATA XPG SX8200 Pro (ASX8200PNP-2TT-C, M.2 Type2280 PCIe Gen3x4, 2TB, 3D TLC)
- 3.5 HDD HGST HDN724030ALE640 (3TB, SATA600, 7200rpm, Cache 64MB, NAS向け)
- 3.5 HDD HGST HDN726040ALE614 (4TB, SATA600, 7200rpm, Cache 64MB, NAS向け)
- 2.5 HDD, TOSHIBA MQ01ABF050 (500GB, SATA600, 7mm, 5200rpm, Cache 8MB)
- 2.5 HDDケース ZALMAN ZM-VE200SE (USB2.0 or eSATA, 仮想ドライブ化(ISO選択)機能付き)
- 2.5 HDDケース ZALMAN ZM-VE400 (USB3.0, 仮想ドライブ化(ISO選択)機能付き)
- USB-C - SATA変換コネクタ RATOC REX-U30ST3-C (DC12C/2A)
- USB3.0 HUB サンワサプライ USB-HAS410BK (個別スイッチ付, セルフ/バスパワー両対応)
- M.2対応 SSDケース (型番不明。見た目からすると AINEX HDE-13A…?)
- 2.5 - 3.5インチ変換プレート
- Androidスマートフォン ASUS Zenfone 5 LTE A500KL (ASUS_T00P, Android 4.2.2 → 5.0アップデート済み, Qualcomm Snapdragon 400, クアッドコア1.2GHz, 2GB, eMMC 32GB, 5インチIPS 1280x720, 800/200万画素カメラ, IEEE802.11b/g/n, Bluetooth 4.0)
_Ryzen 5 PRO 4650Gのスペックレビュー&性能ベンチマークを検証【2024年】 | ゲーミングPC徹底解剖
_XPG SX8200 Pro PCIe Gen3x4 M.2 2280ソリッドステートドライブ
_価格.com - ADATA XPG SX8200 Pro ASX8200PNP-2TT-C スペック・仕様
_大容量モデルのラインナップが増加したHDD - AKIBA PC Hotline!
_回転数7,200rpmのHGST製NAS用HDD「Deskstar NAS」から4TBと6TBモデルが発売 - エルミタージュ秋葉原
_価格.com - 東芝 MQ01ABF050 [500GB 7mm] スペック・仕様
_TOSHIBA MQ01ABF050 - 製品詳細 | パソコンSHOPアーク(ark)
_ZM-VE200SE | ZALMAN ストレージ関連 | 株式会社アスク
_Zalman ZM-VE200 USB powered : Free Download, Borrow, and Streaming : Internet Archive
_ZM-VE400シリーズ | ZALMAN ストレージ関連 | 株式会社アスク
_大事なデータを手軽に保護! 暗号化機能付きHDDケース「ZM-VE400」 | 株式会社アスク
_Zalman ZM-VE400 : Free Download, Borrow, and Streaming : Internet Archive
_USB-C - SATA 変換アダプター REX-U30ST3-C[RATOC]
_USB-HAS410BK 個別スイッチ付き4ポートUSB3.0ハブ - サンワサプライ株式会社
_ASUS ZenFone 5 (A500KL) 端末仕様|hi-ho
_HDE-13A | Ainex
AMD Ryzen 5 PRO 4650G は、親父さん用PCの AMD Ryzen 5 2400G を置き換えるつもりで持ってきたらしい。Ryzen 5 2400G はWindows11のサポート対象外だけど、Ryzen 5 PRO 4650G ならサポートしてるので…。
弟曰く、2.5インチHDD群をPC環境から排除したいと思っていたそうで、そのあたり色々譲ってもらえた。ISOファイルを入れておくと光学ドライブが繋がってるように見せてくれるHDDケースが便利そう。
◎ Zenfone 5 の使い道が思いつかない :
ASUS Zenfone 5 (Android 5.0)を貰えて、これで色々実験できるぞ、ジャイロセンサー付きだし、と喜んだのだけど、セットアップを始めてみたら Google Playストアにアクセスしてもサーバエラーと表示されるだけで何一つインストールできなくて。Google関連アプリのアップデートすらできない。
ググってみたところ、Google Play ストアは、Android 5.0 のサポートを終了していたらしい…。何のアプリもインストールできないのでは、実験のしようもない…。「パソコンは ソフトなければ 只の箱」状態…。
_宮永好道 - Wikipedia
せめて野良アプリをインストールすることぐらいはできないかと試してみたけれど、F-Droid すら「ダウンロードできませんでした」と言われてしまう。もっとも、F-Droid経由?でインストールできそうなアプリを眺めると、Android 8.0以上に対応とかそんな感じのアプリばかりで…。Android 5.0 ではインストールできないな…。
アプリが何もインストールできないのでは…。さて、何に使えるだろう…。デジカメにするぐらいかな…。
※ 2024/08/15追記。1日放置してたら、Google Playストアにアクセスできるようになっていた。助かった…。
ググってみたところ、Google Play ストアは、Android 5.0 のサポートを終了していたらしい…。何のアプリもインストールできないのでは、実験のしようもない…。「パソコンは ソフトなければ 只の箱」状態…。
_宮永好道 - Wikipedia
せめて野良アプリをインストールすることぐらいはできないかと試してみたけれど、F-Droid すら「ダウンロードできませんでした」と言われてしまう。もっとも、F-Droid経由?でインストールできそうなアプリを眺めると、Android 8.0以上に対応とかそんな感じのアプリばかりで…。Android 5.0 ではインストールできないな…。
アプリが何もインストールできないのでは…。さて、何に使えるだろう…。デジカメにするぐらいかな…。
※ 2024/08/15追記。1日放置してたら、Google Playストアにアクセスできるようになっていた。助かった…。
[ ツッコむ ]
2023/08/14(月) [n年前の日記]
#1 [nitijyou] まだ椅子を物色中
座面のサイズが50x50cm以上で、背もたれがハイバックで、肘掛けがついてない椅子が売ってないか、ググって探しているところ。しかし、全然見つからない…。
肘掛け有りで考え直したほうがいいのかな…。肘掛けを回転させて背もたれに揃えることができる機能がついていれば、まだどうにかなるのだろうか。
肘掛け有りで考え直したほうがいいのかな…。肘掛けを回転させて背もたれに揃えることができる機能がついていれば、まだどうにかなるのだろうか。
[ ツッコむ ]
2022/08/14(日) [n年前の日記]
#1 [python] Pythonスクリプトの多重起動を抑止したい
Windows10 x64 21H2 + Python 3.8.10、3.9.13 上で、Pythonスクリプトの多重起動を抑止したい。
◎ 参考ページ。 :
以下のページを参考にして試してみた。
_Creating a single instance application < Python recipes < ActiveState Code
_Ptyhonでプロセス間排他を試す(Windows限定) | The only neEt thing to do.
_windowsで実行中のプロセスのフルパスを、pythonから調べたい
_多重起動禁止処理 for Windows
_benhoyt/namedmutex: namedmutex.py, a simple ctypes wrapper for Win32 named mutexes
_Windows上で多重起動を防止する方法
_Module win32event
Windowsの場合、Mutex なるものを使うと多重起動してるかどうかを判別することができる模様。キーワードとして「python CreateMutex」でググれば情報に辿り着けそう。
その Mutex を利用する方法として、以下の2つがあるようで。
_Creating a single instance application < Python recipes < ActiveState Code
_Ptyhonでプロセス間排他を試す(Windows限定) | The only neEt thing to do.
_windowsで実行中のプロセスのフルパスを、pythonから調べたい
_多重起動禁止処理 for Windows
_benhoyt/namedmutex: namedmutex.py, a simple ctypes wrapper for Win32 named mutexes
_Windows上で多重起動を防止する方法
_Module win32event
Windowsの場合、Mutex なるものを使うと多重起動してるかどうかを判別することができる模様。キーワードとして「python CreateMutex」でググれば情報に辿り着けそう。
その Mutex を利用する方法として、以下の2つがあるようで。
- win32event、win32api、winerror等を経由して呼び出す。
- ctypes モジュールで呼び出す。
◎ ソースその1。win32event版。 :
まずは win32event等を経由して使う方法を試してみた。動作には pywin32 のインストールが必要。今回は pywin32 304 がインストールされた。
_01_mutex.py
python 01_mutex.py で実行すると、1秒毎に、0 から 9 までの数字を出す。
DOS窓を複数開いておいて、どこかのDOS窓でスクリプトを動かしてから、すかさず別のDOS窓で同じスクリプトを動かしてみると、後から実行したほうは「〜 already exists」と出力して即座に終了してくれた。たしかに、多重起動を禁止するスクリプトになってくれた模様。
ちょっとよく分からなかったのが、win32event.ReleaseMutex(mtx) を呼ぶと必ずエラーになること。これは呼ばなくてもいいのだろうか…? クローズ処理として win32api.CloseHandle(mtx) か mtx.Close() は呼んでおくらしいけど…。巷のサンプルを眺めても、win32event.ReleaseMutex(mtx) を呼んでる事例は見かけなかったので、呼ばなくてもいいのかもしれない。
pip install pywin32
_01_mutex.py
import win32event import win32api import winerror import win32security import time import sys MUTEXNAME = "python_mutex_sample_01" def main(): sa = win32security.SECURITY_ATTRIBUTES() sa.SECURITY_DESCRIPTOR.SetSecurityDescriptorDacl(True, None, False) mtx = win32event.CreateMutex(sa, False, MUTEXNAME) err = win32api.GetLastError() if not mtx or err == winerror.ERROR_ALREADY_EXISTS: # Process exists print("%s already exists" % MUTEXNAME) sys.exit(0) else: # New process print("New process.") for i in range(10): print(i) time.sleep(1) if mtx: # win32event.ReleaseMutex(mtx) # win32api.CloseHandle(mtx) mtx.Close() if __name__ == '__main__': main()
- Mutex を作る際は、他のプロセスと被らないような独自の文字列を渡す。
- CreateMutex() を呼んだ直後にエラー情報を調べることで、その Mutex が既にあるかどうかが分かる模様。
- 処理が終わったら、mtx.Close() を呼んでハンドルをクローズする。
python 01_mutex.py で実行すると、1秒毎に、0 から 9 までの数字を出す。
DOS窓を複数開いておいて、どこかのDOS窓でスクリプトを動かしてから、すかさず別のDOS窓で同じスクリプトを動かしてみると、後から実行したほうは「〜 already exists」と出力して即座に終了してくれた。たしかに、多重起動を禁止するスクリプトになってくれた模様。
ちょっとよく分からなかったのが、win32event.ReleaseMutex(mtx) を呼ぶと必ずエラーになること。これは呼ばなくてもいいのだろうか…? クローズ処理として win32api.CloseHandle(mtx) か mtx.Close() は呼んでおくらしいけど…。巷のサンプルを眺めても、win32event.ReleaseMutex(mtx) を呼んでる事例は見かけなかったので、呼ばなくてもいいのかもしれない。
◎ ソースその2。ctypes版。 :
ctypesを使って呼び出す方法も試してみた。
_02_mutex_ctypes.py
インポートするモジュール数は少なくなってくれた気がする。ただ、ソースが少し分かりづらく…。いや、あまり違いはないか…。
ctypes 経由で呼び出す版は、最後に .ReleaseMutex() と .CloseHandle() を呼び出してもエラーにならなかった。
_02_mutex_ctypes.py
import ctypes import time MUTEXNAME = "python_mutex_sample_02" def main(): knl32 = ctypes.windll.Kernel32 mtx = knl32.CreateMutexA(0, 1, MUTEXNAME) result = knl32.WaitForSingleObject(mtx, 0) if result != 0: print("%s already exists" % MUTEXNAME) else: print("New process.") for i in range(10): print(i) time.sleep(1) knl32.ReleaseMutex(mtx) knl32.CloseHandle(mtx) if __name__ == '__main__': main()
インポートするモジュール数は少なくなってくれた気がする。ただ、ソースが少し分かりづらく…。いや、あまり違いはないか…。
ctypes 経由で呼び出す版は、最後に .ReleaseMutex() と .CloseHandle() を呼び出してもエラーにならなかった。
[ ツッコむ ]
#2 [python][pygame][windows] pygameでWindows用スクリーンセーバを作る
Windows10 x64 21H2 + Python 3.8.10 64bit + pygame 1.9.6 を使って、Windows用のスクリーンセーバが作れそうかどうか試してみた。
動作画面は以下のような感じ。解像度が低過ぎてアレだけど、雰囲気ぐらいは分かるかなと。また、かなり後で話が出てくるけれど、プレビューが表示されるまで妙に待たされてることも分かるかと思う。
動作画面は以下のような感じ。解像度が低過ぎてアレだけど、雰囲気ぐらいは分かるかなと。また、かなり後で話が出てくるけれど、プレビューが表示されるまで妙に待たされてることも分かるかと思う。
◎ 制限事項。 :
pygame でWindows用スクリーンセーバを作成するにあたって、いくつか制限事項(?)がある。
- pygame は 1.9.x であること。pygame 2.x.x は、環境変数 SDL_WINDOWID が反映されないので作れない。(pygame 1.x.x はSDL1.xを、pygame 2.x.x はSDL2を使っていて、SLD2 は件の環境変数が反映されない。)
- pygame 1.9.x の最終バージョン、pygame 1.9.6 は、Python 3.8 までの対応なので、pygame 1.9.6 を使いたいなら、Python 2.7 - 3.8 のどれかで作ることになる。
◎ Windows用スクリーンセーバについてのおさらい。 :
Windows用スクリーンセーバ(.scr)はどんな仕様を要求されるのか、念のために再度列挙してみる。
コマンドラインオプションについて。
「/p xxxx」にも対応させることを考えると、以下の条件を満たすプログラミング言語/ライブラリ/フレームワークなら、Windows用スクリーンセーバを作れることになる。
多重起動禁止処理について。
インストール場所について。
- Windows用スクリーンセーバは、.exe を .scr にリネームしたもの。
コマンドラインオプションについて。
- .scr は、3種類のコマンドラインオプション、「/s」「/c:xxxx」「/p xxxx」のどれかが渡されて実行される。
- .scrファイルを右クリックして出てくるメニューから、「テスト」「構成」等を選んだ場合、コマンドラインオプションがつかない状態で実行される場合もある。
- /s、/c、/p は、大文字だったり小文字だったりするので、プログラム側で大文字化、または小文字化をしてから判別したほうが良い。
- /s はフルスクリーン表示モード。キーボード操作やマウス操作を検出して、操作があったら自分で終了するように作っておく。
- /c:xxxx は、そのスクリーンセーバの設定ダイアログ表示モード。本来は設定内容を .ini やレジストリ等に記録することになるけれど、特に設定項目が無いなら、スクリーンセーバ名を表示するダイアログが出るだけで十分。
- /p xxxx は、スクリーンセーバ設定画面のプレビュー窓の中に表示するモード。xxxx はプレビュー窓のウインドウハンドル。
「/p xxxx」にも対応させることを考えると、以下の条件を満たすプログラミング言語/ライブラリ/フレームワークなら、Windows用スクリーンセーバを作れることになる。
- 与えられたウインドウハンドルからウインドウサイズを取得できて、
- そのウインドウハンドルのウインドウに対して描画ができる。
多重起動禁止処理について。
- スクリーンセーバ設定画面で何かしら操作をすると、その都度 /p xxxx つきでスクリーンセーバが何度も何度も実行されるので、特に何もしないと同じ処理をするプロセスが2つも3つも走ってしまう。多重起動を抑止する処理が必要になる。
- スクリーンセーバが実行されるまでの時間の間隔で、スクリーンセーバが何度も実行される可能性がある。フルスクリーン表示時も、一応、多重起動の禁止処理を入れておいたほうが安心。
インストール場所について。
- Windows が64bit版、スクリーンセーバが32bit版のプログラムなら、C:\Windows\SysWOW64\ 以下に .scr をコピーする。
- Windows が64bit版、スクリーンセーバが64bit版のプログラムなら、C:\Windows\System32\ 以下に .scr をコピーする。
- Windows が32bit版なら、C:\Windows\System32\ 以下に .scr をコピーする。
◎ 開発環境。 :
今回は、Windows10 x64 21H2上で Python 3.9.13 64bit版や 3.8.10 64bit版をインストールしてある状態で、virtualenv を使って Python 3.8 64bit の開発環境を用意してから作業した。
後々、PyInstaller や Nuitka を使って、.py ファイルをexe化するわけだけど。不要なモジュールまで exe に含められるのは困るので、必要最低限のモジュールしか入っていないクリーン(?)な環境を用意できたほうが exe化するには都合がいい。まあ、virtualenv ではなく、venv 等を使っても同じことはできると思うけど…。
virtualenv のインストールと、Python 3.8 の開発環境を作成。
開発環境の有効化。
Pythonのバージョンを確認。
ちなみに、開発環境の無効化は以下。
後々、PyInstaller や Nuitka を使って、.py ファイルをexe化するわけだけど。不要なモジュールまで exe に含められるのは困るので、必要最低限のモジュールしか入っていないクリーン(?)な環境を用意できたほうが exe化するには都合がいい。まあ、virtualenv ではなく、venv 等を使っても同じことはできると思うけど…。
virtualenv のインストールと、Python 3.8 の開発環境を作成。
python -m pip install -U setuptools virtualenv virtualenv -p python3.8 venv38
開発環境の有効化。
.\env38\Scripts\activate
Pythonのバージョンを確認。
python -V
(venv38) ... > python -V Python 3.8.10
ちなみに、開発環境の無効化は以下。
deactivate
◎ 必要なモジュールをインストール。 :
スクリーンセーバを作る際に必要になるモジュールをインストール。pygame、pywin32 と、exe化するための何かしらが入っていれば済む。
手元の開発環境では、以下が入っている。余計なモジュールも入ってるけど…。(Pythonスクリプトの整形ツール、autopep8 とか…。)
python -m pip install pygame==1.9.6 python -m pip install pywin32 python -m pip install pyinstaller python -m pip install nuitka zstandard orderedset
手元の開発環境では、以下が入っている。余計なモジュールも入ってるけど…。(Pythonスクリプトの整形ツール、autopep8 とか…。)
(venv38) ... > python -m pip list Package Version ------------------------- --------- altgraph 0.17.2 autopep8 1.7.0 cachetools 5.2.0 future 0.18.2 Nuitka 1.0.3 orderedset 2.0.3 pefile 2022.5.30 pip 22.2.2 pycodestyle 2.9.1 pygame 1.9.6 pyinstaller 5.3 pyinstaller-hooks-contrib 2022.8 pywin32 304 pywin32-ctypes 0.2.0 setuptools 63.4.1 toml 0.10.2 wheel 0.37.1 zstandard 0.18.0
◎ ソース。 :
Python 3.8 + pygame 1.9.6 + pywin32 で作成した、Windows用スクリーンセーバのソースは以下。画面の中を赤いボールが跳ね回るだけの、いつもの処理内容。
_scrsavpygame.py
使用画像は以下。scrsavpygame.py と同階層に、resources というディレクトリを作成して、その中に入れておく。
_ball_64x64.png
_preview_bg.png
_preview_logo.png
_scrsavpygame.py
import ctypes import datetime import math import os import sys import time import win32api import win32event import win32gui import win32security import winerror DBG = False IMG_NAME = "resources/ball_64x64.png" PREVIEW_BG_IMG = "resources/preview_bg.png" PREVIEW_LOGO_IMG = "resources/preview_logo.png" APPLI_NAME = "screensaver sample by using pygame" VER_NUM = "0.0.1" MUTEX_NAME_FILLSCR = "screensaver_pygame_fullscr" MUTEX_NAME_CONFIG = "screensaver_pygame_config" MUTEX_NAME_PREVIEW = "screensaver_pygame_preview" def resource_path(filename): """Get resource file path.""" if hasattr(sys, "_MEIPASS"): # use PyInstaller base_dir = sys._MEIPASS else: base_dir = os.path.abspath(".") return os.path.join(base_dir, filename) def full_screen(screen): """drawing pygame window.""" # invisivle mouse cursor pygame.mouse.set_visible(False) # load image img = pygame.image.load(resource_path(IMG_NAME)).convert() img.set_colorkey(img.get_at((0, 0)), pygame.RLEACCEL) # initialize work scrw, scrh = screen.get_width(), screen.get_height() x, y = scrw / 2, scrh / 2 dx = float(scrw) / (60 * 2) dy = float(scrh) / (60 * 3) clock = pygame.time.Clock() counter = 0 looping = True # main loop while looping: # check key, mouse for event in pygame.event.get(): if event.type == pygame.QUIT: looping = False if event.type == pygame.KEYUP: # any key up looping = False if event.type == pygame.MOUSEMOTION: # move mouse if counter >= 120: looping = False if not looping: break # update sprite position w, h = img.get_width(), img.get_height() x += dx y += dy if x <= (w / 2) or x >= scrw - (w / 2): dx *= -1 if y <= (h / 2) or y >= scrh - (h / 2): dy *= -1 # clear bg screen.fill((16, 16, 16)) # draw sprite px, py = int(x - (w / 2)), int(y - (h / 2)) screen.blit(img, (px, py)) counter += 1 pygame.display.flip() clock.tick(60) # visible mouse cursor pygame.mouse.set_visible(True) def preview(screen): frames = 360 * 2 bgimg = pygame.image.load(resource_path(PREVIEW_BG_IMG)).convert() logoimg = pygame.image.load(resource_path(PREVIEW_LOGO_IMG)).convert() logoimg.set_colorkey(logoimg.get_at((0, 0)), pygame.RLEACCEL) clock = pygame.time.Clock() ang = 0 looping = True for i in range(frames): for event in pygame.event.get(): if event.type == pygame.QUIT: looping = False if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: looping = False if not looping: break scrw, scrh = screen.get_width(), screen.get_height() screen.fill((100, 150, 200)) iw, ih = bgimg.get_width(), bgimg.get_height() px = int((scrw - iw) / 2) py = int((scrh - ih) / 2) screen.blit(bgimg, (px, py)) iw, ih = logoimg.get_width(), logoimg.get_height() px = int((scrw - iw) / 2) py = int((scrh * 0.15) * math.sin(math.radians(ang)) + (scrh / 2) - (ih / 2)) screen.blit(logoimg, (px, py)) ang += 3 pygame.display.flip() clock.tick(60) def get_window_size(hwnd): """Get window size.""" rect = win32gui.GetWindowRect(hwnd) x0, y0, x1, y1 = rect[0], rect[1], rect[2], rect[3] return ((x1 - x0), (y1 - y0)) def msg_box(msg, title): """Display MessageBox by Windows API.""" user32 = ctypes.WinDLL("user32") # user32.MessageBoxW.restype = ctypes.c_int32 # user32.MessageBoxW.argtypes = (ctypes.c_void_p, ctypes.c_wchar_p, # ctypes.c_wchar_p, ctypes.c_uint32) user32.MessageBoxW(0, msg, title, 0x00000040) def write_log(s): global DBG if DBG: desktop_dir = os.path.expanduser('~/Desktop') log_file = os.path.join(desktop_dir, "temp.log.txt") dt_now = datetime.datetime.now().strftime("%Y/%m/%d %H:%M:%S") with open(log_file, 'a') as f: f.write("[%s] %s\n" % (dt_now, s)) def get_mutex(name): sa = win32security.SECURITY_ATTRIBUTES() sa.SECURITY_DESCRIPTOR.SetSecurityDescriptorDacl(True, None, False) mtx = win32event.CreateMutex(sa, False, name) err = win32api.GetLastError() if not mtx or err == winerror.ERROR_ALREADY_EXISTS: return (mtx, False) return (mtx, True) def close_mutex(mtx): global cmdopt if mtx: # win32event.ReleaseMutex(mtx) # win32api.CloseHandle(mtx) mtx.Close() write_log("%s : Close mutex. Exit." % cmdopt) # ---------------------------------------- # parse commandline option kind = "None" hwnd = 0 if len(sys.argv) >= 2: s = sys.argv[1][0:2].lower() if s == "/p": kind = "preview" hwnd = int(sys.argv[2]) elif s == "/c": kind = "config" elif s == "/s": kind = "fullscreen" cmdopt = " ".join(sys.argv) if kind == "config": # ---------------------------------------- # config / setting mtx, success = get_mutex(MUTEX_NAME_CONFIG) if not success: # Process exists write_log("%s : %s already exists. Exit." % (cmdopt, MUTEX_NAME_CONFIG)) sys.exit(0) # new process write_log("%s : New process." % cmdopt) msg_box("%s\nver.%s" % (APPLI_NAME, VER_NUM), "Information") close_mutex(mtx) sys.exit() if kind == "preview": # ---------------------------------------- # preview mtx, success = get_mutex(MUTEX_NAME_PREVIEW) if not success: write_log("%s : %s already exists. Exit." % (cmdopt, MUTEX_NAME_PREVIEW)) sys.exit(0) os.environ['SDL_VIDEODRIVER'] = 'windib' if hwnd != 0: # set SDL_WINDOWID os.environ['SDL_WINDOWID'] = str(hwnd) wdw_size = get_window_size(hwnd) write_log("Windows size: %d x %d" % (wdw_size)) else: wdw_size = (152, 112) write_log("%s : New process. hwnd = %d , Wdw size = %d x %d" % (cmdopt, hwnd, wdw_size[0], wdw_size[1])) import pygame # nopep8 pygame.init() screen = pygame.display.set_mode(wdw_size) preview(screen) pygame.quit() close_mutex(mtx) sys.exit() # ---------------------------------------- # full screen mtx, success = get_mutex(MUTEX_NAME_FILLSCR) if not success: # Process exists write_log("%s : %s already exists. Exit." % (cmdopt, MUTEX_NAME_FILLSCR)) sys.exit(0) # New process write_log("%s : New process." % cmdopt) import pygame # nopep8 pygame.init() screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN) full_screen(screen) pygame.quit() close_mutex(mtx) sys.exit()
使用画像は以下。scrsavpygame.py と同階層に、resources というディレクトリを作成して、その中に入れておく。
_ball_64x64.png
_preview_bg.png
_preview_logo.png
(venv38) ... > tree /A /f D:. | scrsavpygame.py | +---resources ball_64x64.png preview_bg.png preview_logo.png
◎ ソースについて少し説明。 :
/p xxxx を渡して実行した時(プレビューモード)の動作は、一定時間アニメーションを表示して、その後終了する作りにしてみた。
当初、与えられたウインドウハンドルに対して何かを描画して即座に終了する処理で十分だろうと思っていたのだけど。その方法を実際に試してみたら、描画内容が全く反映されず。どうやら数秒ほど延々と描画を続けてみないと、見た目が反映されないようだなと…。何故かは分からないけれど…。
しかし、そのままいつまでもアニメーションを描画し続けるわけにもいかなくて。スクリーンセーバ設定画面が閉じられた際、スクリーンセーバも終了しなければいけないはずだけど、どうすればスクリーンセーバ設定画面の終了を検出できるのか、そこが分からない。仕方なく、一定時間が経過したら問答無用で終了してしまうことにしてお茶を濁した。このあたり、解決策はあるのだろうか…?
多重起動抑止については、以下を参照のこと。
_Pythonスクリプトの多重起動を抑止したい
環境変数 SDL_WINDOWID を使って、pygame のウインドウを埋め込む処理については、以下を参照のこと。
_tkinterの中にpygameを埋め込む
当初、与えられたウインドウハンドルに対して何かを描画して即座に終了する処理で十分だろうと思っていたのだけど。その方法を実際に試してみたら、描画内容が全く反映されず。どうやら数秒ほど延々と描画を続けてみないと、見た目が反映されないようだなと…。何故かは分からないけれど…。
しかし、そのままいつまでもアニメーションを描画し続けるわけにもいかなくて。スクリーンセーバ設定画面が閉じられた際、スクリーンセーバも終了しなければいけないはずだけど、どうすればスクリーンセーバ設定画面の終了を検出できるのか、そこが分からない。仕方なく、一定時間が経過したら問答無用で終了してしまうことにしてお茶を濁した。このあたり、解決策はあるのだろうか…?
多重起動抑止については、以下を参照のこと。
_Pythonスクリプトの多重起動を抑止したい
環境変数 SDL_WINDOWID を使って、pygame のウインドウを埋め込む処理については、以下を参照のこと。
_tkinterの中にpygameを埋め込む
◎ Pythonスクリプトとして動作確認。 :
動作確認は以下。
「/p 0」を渡したときは、仮で小さなウインドウを生成して、その中にプレビュー窓用の内容をテスト描画するようにしてみた。本番では、例えば「/p 1049354」のように、何かしらの大きな数値(実在するウインドウハンドル)が渡されるはず。
python scrsavpygame.py /s python scrsavpygame.py /c python scrsavpygame.py /p 0 python scrsavpygame.py
「/p 0」を渡したときは、仮で小さなウインドウを生成して、その中にプレビュー窓用の内容をテスト描画するようにしてみた。本番では、例えば「/p 1049354」のように、何かしらの大きな数値(実在するウインドウハンドル)が渡されるはず。
◎ exeに変換。 :
Windows用スクリーンセーバとして利用するためには、ファイルの拡張子が .scr でなければならず、その .scr は .exe をリネームして作られるわけで…。つまり、この Pythonスクリプトをexe化しないと、スクリーンセーバとして利用できない。
今回は PyInstaller 5.3 を使ってexe化してみた。
まずは、以下を打って変換する。
distディレクトリが作られて、その中に scrsavpygame.exe というファイルが出来上がった。また、scrsavpygame.spec というファイルも生成された。
ただ、この状態では、動作に必要な画像ファイル群が ―― resources/*.png が同梱されていない。
scrsavpygame.spec を編集して、画像ファイル群も同梱させる指定をする。
「Tree('resources',prefix='resources'),」という行を挿入することで、「resourcesディレクトリも同梱せよ」と指示してる。
今度は、.specファイルを指定してexe化する。
dist/scrsavpygame.exe を実行して動作確認をしておく。
動作したら、.scr にリネームコピー。
出来上がった .scr を、既定の場所にコピーしてインストールする。
今回は PyInstaller 5.3 を使ってexe化してみた。
python -m pip install pyinstaller -U
まずは、以下を打って変換する。
pyinstaller --onefile --noconsole --noupx scrsavpygame.py
distディレクトリが作られて、その中に scrsavpygame.exe というファイルが出来上がった。また、scrsavpygame.spec というファイルも生成された。
ただ、この状態では、動作に必要な画像ファイル群が ―― resources/*.png が同梱されていない。
scrsavpygame.spec を編集して、画像ファイル群も同梱させる指定をする。
exe = EXE( pyz, a.scripts, a.binaries, ↓ exe = EXE( pyz, Tree('resources',prefix='resources'), a.scripts, a.binaries,
「Tree('resources',prefix='resources'),」という行を挿入することで、「resourcesディレクトリも同梱せよ」と指示してる。
今度は、.specファイルを指定してexe化する。
pyinstaller scrsavpygame.spec
dist/scrsavpygame.exe を実行して動作確認をしておく。
scrsavpygame.exe /s scrsavpygame.exe /c scrsavpygame.exe /p 0 scrsavpygame.exe
動作したら、.scr にリネームコピー。
copy scrsavpygame.exe scrsavpygame.scr
出来上がった .scr を、既定の場所にコピーしてインストールする。
- Windows が64bit版、スクリーンセーバが32bit版のプログラムなら、C:\Windows\SysWOW64\ 以下に .scr をコピーする。
- Windows が64bit版、スクリーンセーバが64bit版のプログラムなら、C:\Windows\System32\ 以下に .scr をコピーする。
- Windows が32bit版なら、C:\Windows\System32\ 以下に .scr をコピーする。
◎ スクリーンセーバとして動作確認。 :
スクリーンセーバの設定画面を呼び出して、「scrsavpygame」が増えているか確認する。Windows10における、スクリーンセーバ設定画面の呼び出し方は以下。
スクリーンセーバ設定画面が表示されるまで、妙に待たされた気もするけれど、それでも一応動作してくれた。
そんなわけで、Python 3.8 + pygame 1.9.6 + pywin32 を使ってWindows用スクリーンセーバを作れそうだ、と分かった。
- デスクトップの何もないところを右クリック → 個人用設定 → ロック画面 → スクリーンセーバー設定。
- あるいは、Windows10の左下の検索欄に「スクリーンセーバー」と打てば、「スクリーンセーバーの変更」という項目が出てくるので、それを選んでもいい。
スクリーンセーバ設定画面が表示されるまで、妙に待たされた気もするけれど、それでも一応動作してくれた。
そんなわけで、Python 3.8 + pygame 1.9.6 + pywin32 を使ってWindows用スクリーンセーバを作れそうだ、と分かった。
◎ 問題点。 :
一応それらしく動いたものの。現状では、ちょっと問題が…。
スクリーンセーバの設定画面で「scrsavpygame」を選ぶと、プレビュー窓の中に何かが表示されるまで随分待たされる…。おそらくだけど、以下が原因なのではなかろうか。
更に、出来上がった .scr に対して、Windows Defender が「これはウイルスだ!」と誤判定してきた。
PyInstaller を使って生成した .exe はウイルスとして誤判定されやすいらしい。巷のウイルスが PyInstaller等を使って作られているせいで、ウイルス対策ソフトが「PyInstaller で作られた .exe はウイルス」と決めつけてる節があるそうで。
もちろん、こうして自分で作ったプログラムだから、ウイルスなわけもなく…。Windows Defender に「このファイルはウイルス判定を除外せよ」と設定して使うしかなさそう。
ただ、出来上がった .scr を配布したいと思った場合はフツーに困る…。ダウンロードした人達が「これ、ウイルスじゃん!」と慌てちゃうだろうな…。
スクリーンセーバの設定画面で「scrsavpygame」を選ぶと、プレビュー窓の中に何かが表示されるまで随分待たされる…。おそらくだけど、以下が原因なのではなかろうか。
- PyInstaller で作成された .exe は、毎回一時フォルダに解凍する処理が走るので、起動がとにかく遅い。
- 毎回、Windows Defender によるウイルスチェックで時間がかかっているのかもしれない。
更に、出来上がった .scr に対して、Windows Defender が「これはウイルスだ!」と誤判定してきた。
PyInstaller を使って生成した .exe はウイルスとして誤判定されやすいらしい。巷のウイルスが PyInstaller等を使って作られているせいで、ウイルス対策ソフトが「PyInstaller で作られた .exe はウイルス」と決めつけてる節があるそうで。
もちろん、こうして自分で作ったプログラムだから、ウイルスなわけもなく…。Windows Defender に「このファイルはウイルス判定を除外せよ」と設定して使うしかなさそう。
ただ、出来上がった .scr を配布したいと思った場合はフツーに困る…。ダウンロードした人達が「これ、ウイルスじゃん!」と慌てちゃうだろうな…。
◎ Nuitkaでexe化してみる。 :
Pythonスクリプトをexe化するツールは、PyInstaller、py2exe、cx_Freeze など色々あるけれど。Pythonスクリプトを一旦C言語のソースに変換して、gccでコンパイルしてexeを作ってくれる Nuitka なるツールがあるそうで。PyInstaller で作ったexeより起動が速く、ファイルサイズも小さくなる傾向があるとのこと。興味が湧いた。試してみる。
インストールは以下。
自分の環境では、orderedset というモジュールもインストールしないと、処理が先に進まなかった。
Nuitka用に修正したソースは以下。
_scrsavpygame.py
変更点は2ヵ所。
リソースファイルパスを求める部分は以下になる。
exeへの変換は以下。
上記を実行したところ、途中で「gccその他が見つからないがダウンロードするか?」と尋ねてきた。「Yes」を入力してダウンロードすることにした。それぞれ、 C:\Users\(USERNAME)\AppData\Local\Nuitka\ 以下にキャッシュとしてダウンロードされる模様。ファイル数を調べてみたら、7923ファイル、全体で1.14GBが入っていた。まあ、Nuitka が要求する gccのバージョン等が固定されている可能性もあるので、このくらいは目を瞑ったほうが面倒臭くないのかもしれない。
数分かかって、.py と同階層に scrsavpygame.exe が作成された。ファイルサイズは 8.59MB。PyInstaller で生成した .exe は 13.06MB だったので、若干ファイルサイズも小さくなっている。
別ディレクトリに .exe をコピーして実行してみたところ、動作してくれた。
なんとなくだけど、PyInstaller で作った .exe より起動がちょっと速いような気もする。
スクリーンセーバとして利用できるか動作確認。.exe を .scr にリネームコピーして、スクリーンセーバの既定の置き場所にコピー。スクリーンセーバ設定画面を出してリストから選んだ。これも一応動いてくれた。
ただ、相変わらず、プレビュー窓内が表示されるまで結構待たされる…。こうなると、一時ディレクトリを作成して、動作に必要なファイルを全て展開してから実行するという、その仕組み自体が厳しいのかもしれない…。
ちなみに、--onefile ではなく --standalone を指定すれば、1つのファイルにまとめずに、*.dist というディレクトリに動作に必要なファイルを全てコピーした状態で .exe を生成してくれる。ファイル数は106ファイル、27.52MB だった。
つまり、1つの .exe にした場合、実行時は毎回106ファイルを一時ディレクトリに展開しているわけで…。それなりに起動が遅くて当然ですよね、という気もしてきた。
インストールは以下。
python -m pip install nuitka zstandard orderedset
自分の環境では、orderedset というモジュールもインストールしないと、処理が先に進まなかった。
Nuitka用に修正したソースは以下。
_scrsavpygame.py
変更点は2ヵ所。
- 一行目のシバン(shebang)を、「#!python」から「#!/usr/bin/python3.8」に変更。この変更をしないと、「Pythonのバージョンが違う」と文句を言ってきて処理が進まなかった。
- 画像ファイル(リソースファイル)を読み込む際の、ファイルパスの求め方を修正。
リソースファイルパスを求める部分は以下になる。
def resource_path(filename): """Get resource file path.""" if False: if hasattr(sys, "_MEIPASS"): # use PyInstaller base_dir = sys._MEIPASS else: base_dir = os.path.abspath(".") else: base_dir = os.path.dirname(__file__) return os.path.join(base_dir, filename)「if False:」で無効化してあるところが、PyInstaller、あるいは通常のPythonスクリプトとして実行する際の処理。Nuitka用は、os.path.dirname(__file__) で基準ディレクトリ(?)を求めることになる模様。
exeへの変換は以下。
python -m nuitka --mingw64 --windows-disable-console --include-data-file=".\\resources\\*.png=.\\resources\\" --onefile scrsavpygame.py
- python -m nuika : nuika の呼び出し。
- --mingw64 : mingw64 (gcc) を使うことを指定。
- --windows-disable-console : exe実行時にコンソールを非表示にする。
- --include-data-file=".\\resources\\*.png=.\\resources\\" : リソースファイル(*.png)を同梱させる。
- --onefile : リソースファイルも含めて1つのexeファイルにする。
- scrsavpygame.py : exe化したいPythonスクリプト名。
上記を実行したところ、途中で「gccその他が見つからないがダウンロードするか?」と尋ねてきた。「Yes」を入力してダウンロードすることにした。それぞれ、 C:\Users\(USERNAME)\AppData\Local\Nuitka\ 以下にキャッシュとしてダウンロードされる模様。ファイル数を調べてみたら、7923ファイル、全体で1.14GBが入っていた。まあ、Nuitka が要求する gccのバージョン等が固定されている可能性もあるので、このくらいは目を瞑ったほうが面倒臭くないのかもしれない。
数分かかって、.py と同階層に scrsavpygame.exe が作成された。ファイルサイズは 8.59MB。PyInstaller で生成した .exe は 13.06MB だったので、若干ファイルサイズも小さくなっている。
別ディレクトリに .exe をコピーして実行してみたところ、動作してくれた。
scrsavpygame.exe /s scrsavpygame.exe /c scrsavpygame.exe /p 0 scrsavpygame.exe
なんとなくだけど、PyInstaller で作った .exe より起動がちょっと速いような気もする。
スクリーンセーバとして利用できるか動作確認。.exe を .scr にリネームコピーして、スクリーンセーバの既定の置き場所にコピー。スクリーンセーバ設定画面を出してリストから選んだ。これも一応動いてくれた。
ただ、相変わらず、プレビュー窓内が表示されるまで結構待たされる…。こうなると、一時ディレクトリを作成して、動作に必要なファイルを全て展開してから実行するという、その仕組み自体が厳しいのかもしれない…。
ちなみに、--onefile ではなく --standalone を指定すれば、1つのファイルにまとめずに、*.dist というディレクトリに動作に必要なファイルを全てコピーした状態で .exe を生成してくれる。ファイル数は106ファイル、27.52MB だった。
つまり、1つの .exe にした場合、実行時は毎回106ファイルを一時ディレクトリに展開しているわけで…。それなりに起動が遅くて当然ですよね、という気もしてきた。
◎ 参考ページ。 :
_Pyinstaller でリソースを含めたexeを作成する - Qiita
_UI に画像を埋め込んだ Python プログラムを exe化する - NakaNote
_【python, pyinstaller】画像や音楽などの外部ファイルも一括でexe化して配布する - MSBOOKS
_Pythonのexe化で画像を組み込みたい
_python - Pyinstaller and --onefile: How to include an image in the exe file - Stack Overflow
_PyInstaller より圧倒的に優れている Nuitka の使い方とハマったポイント | つくみ島だより
_KivyのGUIアプリをNuitkaで簡単に小サイズの実行ファイル(exe)にする(Windows10) - Qiita
_Nuitkaで失敗しやすいポイントを解説 - Qiita
_Nuitkaを使ってスクリプトをバイナリ化してみよう - PythonOsaka
_Kivyで作ったアプリをNuitkaでexeファイル化した時の試行錯誤のメモの巻
_UI に画像を埋め込んだ Python プログラムを exe化する - NakaNote
_【python, pyinstaller】画像や音楽などの外部ファイルも一括でexe化して配布する - MSBOOKS
_Pythonのexe化で画像を組み込みたい
_python - Pyinstaller and --onefile: How to include an image in the exe file - Stack Overflow
_PyInstaller より圧倒的に優れている Nuitka の使い方とハマったポイント | つくみ島だより
_KivyのGUIアプリをNuitkaで簡単に小サイズの実行ファイル(exe)にする(Windows10) - Qiita
_Nuitkaで失敗しやすいポイントを解説 - Qiita
_Nuitkaを使ってスクリプトをバイナリ化してみよう - PythonOsaka
_Kivyで作ったアプリをNuitkaでexeファイル化した時の試行錯誤のメモの巻
[ ツッコむ ]
2021/08/14(土) [n年前の日記]
#1 [ruby][dxruby] Rubyのfiddleを勉強中
bassrb (Bass.rb) を fiddle を使って動くように修正しようとしているけれど、そもそも Ruby の fiddle の使い方だの、C言語のデータ型がよく分からないので、そのあたりを勉強しつつ作業中。
Ruby の fiddle は、.dll, .so 等のダイナミックリンクライブラリを扱うためのライブラリ、だそうで。
_library fiddle (Ruby 3.0.0 リファレンスマニュアル)
とりあえず分かってきたことをメモ。
boolとBOOLは違う。bool はC言語(?)のデータ型、boolean型で、BOOL は Visual C++ で使うデータ型だそうで。実際には BOOL は int で、false が 0、true が 1 になっているっぽい。bass.h の中で、戻り値が BOOL の関数? メソッド? がたくさんあるけれど、その場合戻り値は int として扱っていいらしいなと…。
DWORD は int か uint32_t で置き換えることができる。
QWORD というデータ型が bass.h に出てきたけど、uint64_t で置き換えればいいらしい。
fiddle/types を使えば、BOOL や DWORD をそのまま記述できるようになるっぽい。ただ、dlload をした後で include Fiddle::Win32Types を記述しないとダメらしい。
fiddle の dlload "bass.dll" で .dll をロードできるはずが、Ruby のバージョンによっては「そんなファイルは見当たらない」とエラーになってしまう。Ruby のバージョンによっては、.dll を探す場所が違うという話を見かけた。とりあえず、以下のような書き方をして、「スクリプトファイルのある場所に .dll もあるはず」という前提で絶対パスを渡して誤魔化してみたけど、これで合ってるのかどうか…。
bass.h の中で float が出現するけれど、C言語の float と Ruby の float は違うようで…。
Bass.rb の中に出現する「::」が分からない…。何だコレ…。ググってみたら「トップレベル」云々という言葉が出てきたけど…。よく分からないけど、module Bass の中のメソッドを呼びたい時は、::Bass.hoge() と書けば呼べる、ということでいいのだろうか。
Ruby の fiddle は、.dll, .so 等のダイナミックリンクライブラリを扱うためのライブラリ、だそうで。
_library fiddle (Ruby 3.0.0 リファレンスマニュアル)
とりあえず分かってきたことをメモ。
boolとBOOLは違う。bool はC言語(?)のデータ型、boolean型で、BOOL は Visual C++ で使うデータ型だそうで。実際には BOOL は int で、false が 0、true が 1 になっているっぽい。bass.h の中で、戻り値が BOOL の関数? メソッド? がたくさんあるけれど、その場合戻り値は int として扱っていいらしいなと…。
DWORD は int か uint32_t で置き換えることができる。
QWORD というデータ型が bass.h に出てきたけど、uint64_t で置き換えればいいらしい。
fiddle/types を使えば、BOOL や DWORD をそのまま記述できるようになるっぽい。ただ、dlload をした後で include Fiddle::Win32Types を記述しないとダメらしい。
module M extend Fiddle::Importer dlload "bass.dll" include Fiddle::Win32Types ...
fiddle の dlload "bass.dll" で .dll をロードできるはずが、Ruby のバージョンによっては「そんなファイルは見当たらない」とエラーになってしまう。Ruby のバージョンによっては、.dll を探す場所が違うという話を見かけた。とりあえず、以下のような書き方をして、「スクリプトファイルのある場所に .dll もあるはず」という前提で絶対パスを渡して誤魔化してみたけど、これで合ってるのかどうか…。
module Bass bassdllpath = format("%s/%s", File.expand_path("..", __FILE__), "bass.dll") extend Fiddle::Importer dlload bassdllpath ...
bass.h の中で float が出現するけれど、C言語の float と Ruby の float は違うようで…。
- Ruby の float は C言語の double相当。(8byte)
- C言語の float は 4byte。
BASS_ChannelSetAttribute = Win32API.new("bass", "BASS_ChannelSetAttribute", "III", "I") ... ::Bass.err if BASS_ChannelSetAttribute.call(@ch, 2, [v].pack("f").unpack("I")[0]) == -1fiddle の場合はどう記述するのが妥当なのだろう…。とりあえず、以下のような書き方をしてみたけど…。
extern "int BASS_ChannelSetAttribute(int, int, float)" .... ::Bass.err if ::Bass.BASS_ChannelSetAttribute(@ch, 2, [v].pack("f").unpack("f")[0]) == 0
Bass.rb の中に出現する「::」が分からない…。何だコレ…。ググってみたら「トップレベル」云々という言葉が出てきたけど…。よく分からないけど、module Bass の中のメソッドを呼びたい時は、::Bass.hoge() と書けば呼べる、ということでいいのだろうか。
◎ 参考ページ。 :
以下のページが参考になりました。ありがたや。
_データ型
_データ型 - Windows API 入門
_データ型
_VC++のBOOLとbool型の違い - 小さい頃はエラ呼吸
_C言語の型とWinAPIで使う型のマッピングとRubyのDL/Import - それマグで!
_module Fiddle::Win32Types (Ruby 3.0.0 リファレンスマニュアル)
_fiddle/types.rb at master ・ ruby/fiddle
_library fiddle/types (Ruby 3.0.0 リファレンスマニュアル)
_chef - ruby でクラス名の先頭に :: がつくときの意味について - スタック・オーバーフロー
_Ruby - Rubyの「::」が指すトップレベルについて|teratail
_Ruby: クラス名の先頭につける :: (先頭二重コロン) は何?
_データ型
_データ型 - Windows API 入門
_データ型
_VC++のBOOLとbool型の違い - 小さい頃はエラ呼吸
_C言語の型とWinAPIで使う型のマッピングとRubyのDL/Import - それマグで!
_module Fiddle::Win32Types (Ruby 3.0.0 リファレンスマニュアル)
_fiddle/types.rb at master ・ ruby/fiddle
_library fiddle/types (Ruby 3.0.0 リファレンスマニュアル)
_chef - ruby でクラス名の先頭に :: がつくときの意味について - スタック・オーバーフロー
_Ruby - Rubyの「::」が指すトップレベルについて|teratail
_Ruby: クラス名の先頭につける :: (先頭二重コロン) は何?
[ ツッコむ ]
2020/08/14(金) [n年前の日記]
#1 [windows][hns] Windows10上でIISを有効化した
Windows10 x64 2004上で、IIS(Internet Information Services)を有効化した。IISというのは、Microsoft製のWebサーバ、という説明でいいのだろうか。
この日記ページがどんな見え方になるのかをローカルで確認するために使用。設定手順は以前メモしてあったので、それに従った。
_mieki256's diary - Windows10上のIISを設定していたり
_mieki256's diary - Windows10 + IIS上で日記ページのプレビューができるか試したり
本来ルートフォルダは、C:\inetpub\wwwroot\ になるけれど、今回は D:\inetpub\wwwroot\ にコピーして、そちらをルートフォルダとして設定しておいた。
この日記ページがどんな見え方になるのかをローカルで確認するために使用。設定手順は以前メモしてあったので、それに従った。
_mieki256's diary - Windows10上のIISを設定していたり
_mieki256's diary - Windows10 + IIS上で日記ページのプレビューができるか試したり
本来ルートフォルダは、C:\inetpub\wwwroot\ になるけれど、今回は D:\inetpub\wwwroot\ にコピーして、そちらをルートフォルダとして設定しておいた。
◎ hnsの記述が古くてちょっと困った。 :
今回、日記ページがすんなり表示できなくて悩んでしまった。cgi が動くと、「defined(@Array) や defined(%Hash) は非推奨やで」てな警告が真っ先に出力されてしまって、IISが「ちゃんとしたHTMLヘッダが返ってこないぞ」とエラーを出す。
Strawberry Perl 5.18.4.1-x64 を使うように設定していたのがアレだったらしい。Perl 5.16 から、defined(@Array)、defined(%Hash) は使わないことになってしまったのだとか。単に、「(@Array)」「(%Hash)」と書けば同じ意味として動作するそうで。以前は ActivePerl 5.8.9 build 827 を使っていたから警告が出なかったのだな…。
_jcode.plでdefined(%hash) is deprecated at ../perllib/jcode.pl line 684.のエラー: アイスポテト - C#|Tex|Perl|東京凰籃学院
_警告 "defined(@array) is deprecated" を解消する - Issue #1 - issm/Hoya
_perldiag - various Perl diagnostics - metacpan.org
_Perlの組み込み関数 defined の翻訳 - perldoc.jp
_サーバーでの主要ソフトウェア更新作業後のFAQ - アイネットディー
仕方ないので、とりあえず hns の *.pm 内の該当箇所を書き直してみた。警告が出なくなって動くようになった。
Perlには、昔の仕様で動かすための環境変数等があったりはしないのだろうか…。
Strawberry Perl 5.18.4.1-x64 を使うように設定していたのがアレだったらしい。Perl 5.16 から、defined(@Array)、defined(%Hash) は使わないことになってしまったのだとか。単に、「(@Array)」「(%Hash)」と書けば同じ意味として動作するそうで。以前は ActivePerl 5.8.9 build 827 を使っていたから警告が出なかったのだな…。
_jcode.plでdefined(%hash) is deprecated at ../perllib/jcode.pl line 684.のエラー: アイスポテト - C#|Tex|Perl|東京凰籃学院
_警告 "defined(@array) is deprecated" を解消する - Issue #1 - issm/Hoya
_perldiag - various Perl diagnostics - metacpan.org
_Perlの組み込み関数 defined の翻訳 - perldoc.jp
_サーバーでの主要ソフトウェア更新作業後のFAQ - アイネットディー
仕方ないので、とりあえず hns の *.pm 内の該当箇所を書き直してみた。警告が出なくなって動くようになった。
Perlには、昔の仕様で動かすための環境変数等があったりはしないのだろうか…。
◎ 画像サイズが取得できない。 :
ローカルのHDD内では、日記ページ中で表示される画像が入ったフォルダだけがちょっと離れた場所に置いてあるので、IISマネージャ上で仮想ディレクトリとして追加してみたのだけど、そのせいか画像サイズが取得できず、元画像のサイズそのままで表示される奇妙な状態になってしまった。
仮想ディレクトリではなくて、Windows10 のシンボリックリンクで、画像フォルダがそこにあるように見せかけてみた。この設定なら画像サイズが取得できた。
仮想ディレクトリではなくて、Windows10 のシンボリックリンクで、画像フォルダがそこにあるように見せかけてみた。この設定なら画像サイズが取得できた。
◎ 参考ページ。 :
[ ツッコむ ]
2019/08/14(水) [n年前の日記]
#1 [pc] AMD A6-3500機をメンテナンス中
手元にある、AMD A6-3500 CPUが載ってるPC上で、各種 Ubuntu系OSをインストール中。
各種動作確認用として使おうかなと思っていた、Core2Duo機の調子が悪いので、だったら動作確認用としては A6-3500機を使ったほうがまだマシかもしれないなと思えてきたわけで。一応、Ubuntu 14.04 LTS、16.04LTS、18.04LTS をインストールしておこうかと。
まあ、14.04 LTS はサポート期間が過ぎているので本来は不要だろうけど、昔の環境では動いていたのかどうか、みたいなことを確認したいときもあるわけで。
単なる動作確認なら、仮想PCを使えば済んでしまう場合も多いのだけど、たまに実機じゃないと動かない時もあるわけで。例えば、Python + Pyxel とか。仮想PC上では画面がグチャグチャになるけど、実機ならちゃんと描画されたりするし。
各種動作確認用として使おうかなと思っていた、Core2Duo機の調子が悪いので、だったら動作確認用としては A6-3500機を使ったほうがまだマシかもしれないなと思えてきたわけで。一応、Ubuntu 14.04 LTS、16.04LTS、18.04LTS をインストールしておこうかと。
まあ、14.04 LTS はサポート期間が過ぎているので本来は不要だろうけど、昔の環境では動いていたのかどうか、みたいなことを確認したいときもあるわけで。
単なる動作確認なら、仮想PCを使えば済んでしまう場合も多いのだけど、たまに実機じゃないと動かない時もあるわけで。例えば、Python + Pyxel とか。仮想PC上では画面がグチャグチャになるけど、実機ならちゃんと描画されたりするし。
◎ エラーが出てハマった。 :
Ubuntuインストール用の ISO を、UNetbootin を使ってUSBメモリにコピーして、そのUSBメモリから起動してインストールしようとしたのだけど。インストール処理の途中で、Error 5 Input / output error なるエラーが出てきて困ったり。何度やってもエラーが出る。USBメモリにISOを書き込み直しても出る…。
原因についてググってたら、USB接続の外部機器が悪さをしている場合もある、という話を見かけて。試しに、USBハブ上に、無線LAN子機、ワイヤレスキーボード子機、USBメモリ、を全部繋いでいたけれど、USBメモリだけPC本体のUSBポートに差してみたところ、その手のエラーが全く出ずに、すんなりインストール処理が終わった。
そういうこともあるのか…。いやまあ、バスパワーのUSBハブに、無線子機を2つも差してるから、電流が足りてなかったのかもしれん…。
原因についてググってたら、USB接続の外部機器が悪さをしている場合もある、という話を見かけて。試しに、USBハブ上に、無線LAN子機、ワイヤレスキーボード子機、USBメモリ、を全部繋いでいたけれど、USBメモリだけPC本体のUSBポートに差してみたところ、その手のエラーが全く出ずに、すんなりインストール処理が終わった。
そういうこともあるのか…。いやまあ、バスパワーのUSBハブに、無線子機を2つも差してるから、電流が足りてなかったのかもしれん…。
◎ Linux Mint もインストールし直し。 :
Ubuntu のインストールで散々エラーが出て、その都度電源OFFと再起動を繰り返していたので、元々入っていた Linux Mint が壊れてそうで怖いなと。
面倒臭くなったので、最初から Linux Mint 19.2 をインストールし直し。
このPC、毎回OSをクリーンインストールする羽目になっている気がする…。
面倒臭くなったので、最初から Linux Mint 19.2 をインストールし直し。
このPC、毎回OSをクリーンインストールする羽目になっている気がする…。
◎ Ubuntu 14.04 と 16.04 もインストール。 :
一応、Linux Mint 19.2 とは別に、Ubuntu 14.04 と 16.04 もインストールしておいた。
2TB の HDD を積んであるけど、パーティション構成は以下のような感じに。
2TB の HDD を積んであるけど、パーティション構成は以下のような感じに。
- /dev/sda1, 基本領域, 120GB, ext4, Linux Mint 19.2
- /dev/sda2, 基本領域, 16GB, Linux Swap
- /dev/sda3, 基本領域, 1.x TB
- /dev/sda4, 拡張領域
- /dev/sda5, 論理領域, 54GB, ext4, Ubuntu 14.04 LTS
- /dev/sda6, 論理領域, 54GB, ext4, Ubuntu 16.04 LTS
- /dev/sda7, 論理領域, 54GB, ext4
◎ 物理セクタ境界について。 :
sudo fdisk /dev/sda -l をしたら、「パーティション 4 は物理セクタ境界で始まっていません」と警告が出てしまった。以下を参考にして、各OSをインストールする前に、GParted で調整。
_Ubuntu GParted その22 - パーティションの開始位置を再調整する・パーティションの開始位置が物理セクターの境界になっているか確認する - kledgeb
_Ubuntu GParted その22 - パーティションの開始位置を再調整する・パーティションの開始位置が物理セクターの境界になっているか確認する - kledgeb
* 「開始セクター」が8で割り切れるなら問題なし
* 「開始セクター」が8で割り切れないなら、再調整が必要(しなくてもいいけど、パフォーマンスが落ちる)Ubuntu GParted その22 - パーティションの開始位置を再調整する・パーティションの開始位置が物理セクターの境界になっているか確認する - kledgeb より
[ ツッコむ ]
2018/08/14(火) [n年前の日記]
#1 [moho] Mohoを触ってるところ
ちょっと試してみたい処理があって、Moho Pro 12 を触っているところ。
Moho ってレイヤーの色調補正機能を持ってなかったっけ…。探しても見当たらないけど…。
Moho ってレイヤーの色調補正機能を持ってなかったっけ…。探しても見当たらないけど…。
[ ツッコむ ]
#2 [nitijyou] 弟が仙台に戻った
PM03:00頃に出発して、PM06:00頃には戻ったらしい。
[ ツッコむ ]
2017/08/14(月) [n年前の日記]
#1 [comic] 「ダンジョン飯」5巻を読んだ
妹から以下略。
そう来るか…。やっぱりこの作家さんは天才じゃないかなあ…。いや、個人的には、あまり「天才」という単語を安易に使いたくないのだけど。 *1 これはやっぱり天才としか言いようが…。発想からして非凡というか…。
東洋のキャラが出てきたあたりや、その呼び方について、なるほどと。昔のTRPGのアレコレを視覚化するとこうなるのか、みたいな。ていうか、こういうノリを知ってて漫画作品に盛り込めるあたり、この作家さんは一体何者なんだ…。世代が分からん…。
そう来るか…。やっぱりこの作家さんは天才じゃないかなあ…。いや、個人的には、あまり「天才」という単語を安易に使いたくないのだけど。 *1 これはやっぱり天才としか言いようが…。発想からして非凡というか…。
東洋のキャラが出てきたあたりや、その呼び方について、なるほどと。昔のTRPGのアレコレを視覚化するとこうなるのか、みたいな。ていうか、こういうノリを知ってて漫画作品に盛り込めるあたり、この作家さんは一体何者なんだ…。世代が分からん…。
*1: 世間で「天才」と呼ばれてる人達のほとんどは、えてして努力で能力を獲得してたりするわけで…。世間様の「天才」呼ばわりは、彼等の努力を一切評価せず、まるで最初から能力を持って生まれてきたソレ、ある種のチート野郎、的な扱いをどこか感じてしまうので、ちょっとしっくりこない。
[ ツッコむ ]
2016/08/14(日) [n年前の日記]
#1 [windows] Windows 10 Anniversary Updateとやらにアップデートしてみたり
Windows 10 Anniversary Update とやらが気になってきたのだけど、自動アップデートされる気配がないので、手動でアップデートしてみたり。Microsoft公式サイトから「Windows 10 更新アシスタント」とやらをDLして実行。
3〜4時間ほどかかった、ような気がする。ちゃんと時間を測定しておくべきだったかな…。
Windows10のバージョン情報は1607に、ビルド番号は14393.51になった。
パッと見はそれほど変わってない印象。今のところ、ログイン画面の背景が他の画面の背景と共通になってるとか、スタートボタンの「設定」等のメニュー項目がアイコンになった、ぐらいしか気づいてないけど。
まあ、そのうち、何か不具合に気づくのかもしれない…。
3〜4時間ほどかかった、ような気がする。ちゃんと時間を測定しておくべきだったかな…。
Windows10のバージョン情報は1607に、ビルド番号は14393.51になった。
パッと見はそれほど変わってない印象。今のところ、ログイン画面の背景が他の画面の背景と共通になってるとか、スタートボタンの「設定」等のメニュー項目がアイコンになった、ぐらいしか気づいてないけど。
まあ、そのうち、何か不具合に気づくのかもしれない…。
◎ Bash on Ubuntu on Windowsをインストール。 :
このバージョンでは、Windows上で Ubuntu Linux版のbashが使えるらしい。要するに、Windowsの上でLinux用のコンソールアプリがそこそこ動作するかもよ、ということで。
_Bash on Ubuntu on Windowsの設定 - Qiita
_Bash on Ubuntu on Windows を使ってみた - Qiita
_Bash on Ubuntu on Windowsをインストールしてみよう! - Qiita
_【シェル芸人への道】Bash on Windowsを探検する - Qiita
_Windowsに採用されたBash (Ubuntu)を試してみる
少し試してみたところ、vim も python も perl も入ってるっぽい。試しに vim-nox を sudo apt-get install vim-nox でインストールしてみたら、ruby もインストールされた。
MobaXtermと組み合わせて使うことで、X11アプリまで動いてしまった。例えば xeyes や xclock も動いたし、FontForgeまで起動してしまったり。スゲエ…。今まで VMware や VirtualBox でどうにかしてたけど、ある程度はコレで事足りるかも…。
_Bash on Ubuntu on Windowsの設定 - Qiita
_Bash on Ubuntu on Windows を使ってみた - Qiita
_Bash on Ubuntu on Windowsをインストールしてみよう! - Qiita
_【シェル芸人への道】Bash on Windowsを探検する - Qiita
_Windowsに採用されたBash (Ubuntu)を試してみる
少し試してみたところ、vim も python も perl も入ってるっぽい。試しに vim-nox を sudo apt-get install vim-nox でインストールしてみたら、ruby もインストールされた。
MobaXtermと組み合わせて使うことで、X11アプリまで動いてしまった。例えば xeyes や xclock も動いたし、FontForgeまで起動してしまったり。スゲエ…。今まで VMware や VirtualBox でどうにかしてたけど、ある程度はコレで事足りるかも…。
◎ 2016/08/15追記。 :
Bash on Ubuntu on Windows は、現状ではセキュリティ面がちょっとアレらしい。
_Windows10 Anniversary updateで知らぬ間にSSHdが起動している : やすひでぶろぐ
_Windows 10のLinuxサブシステムは新たな攻撃経路となるか | スラド セキュリティ
開発者モードにしないと使えないから、フツーのWindowsユーザさんは関係ないだろうけど…。まあ、使う時は注意ってことで…。
_Windows10 Anniversary updateで知らぬ間にSSHdが起動している : やすひでぶろぐ
_Windows 10のLinuxサブシステムは新たな攻撃経路となるか | スラド セキュリティ
開発者モードにしないと使えないから、フツーのWindowsユーザさんは関係ないだろうけど…。まあ、使う時は注意ってことで…。
[ ツッコむ ]
2015/08/14(金) [n年前の日記]
#1 [firefox] Firefox40に更新したら拡張がいくつか動かなくなってしまって困ったり
_RSS Ticker
が動かなくなってしまった…。地味に困る。
仕方ないので、 _Feed Sidebar をインストール。これでしばらくしのごうかと。
仕方ないので、 _Feed Sidebar をインストール。これでしばらくしのごうかと。
◎ Webページの見た目が若干おかしくなった気がする。 :
いつからそうなってたのか分からないけど、自分の日記ページを表示したら、検索文字列入力用の、テキスト入力ボックスの幅が大きくなって、サイドバー部分からはみ出してる状態になっていて。inputタグのレイアウト計算が変わったのだろうか。これがまた、Google Chrome で表示すると、ちゃんと期待通りの幅になってくれちゃうわけで。
仕方ないので、inputタグにidをつけて、CSSで width を指定して幅を決め打ちするように修正。
仕方ないので、inputタグにidをつけて、CSSで width を指定して幅を決め打ちするように修正。
[ ツッコむ ]
#2 [pc] Gateway M-2408jを工場出荷時に戻すことにした
DVD-Rドライブ、TSSTcorp CDDVDW TS-L633P ATA Device のドライバが見つからない状態で。ググっても、ドライバの入手ページが見つからない。
その他にも、Microsoft Security Essentials のデータベースが更新できなくなってたりとか。更新ボタンを押しても、ネットワークに異常があるとエラーメッセージが表示されるだけで。 _日々パソコンと Microsoft Security Essentialsが更新できない? を参考に、C:\Program Files\microsoft security essentials の中で mpcmdrun -removedefinitions -all を実行してみたところ、最初の1回はデータベースをDLできたけど、その後更新ボタンを押しても、またしてもエラーがどうこうと言われる。
面倒臭くなってきた。OS再インストール・工場出荷時に戻すことにする…。
一応、HDDの中に入ってた各種ファイルをバックアップしておいた。
スタートボタン → すべてのプログラム → Gateway Recovery Center → Gateway Recovery Center、を選んで、「リカバリ」をクリック。PCが再起動してシステム回復なんたらが出てきて、キーボードレイアウトを選んだり、管理者権限を持ったユーザアカウントを選んだり。
一番下の Recover Manager 32bit、とやらを選択。Widnows Vista が入っていたパーティションの中身が全部消えて、リカバリー用パーティションの中身を使って工場出荷時のHDD状態になってくれる。はず。
フツーにVistaが起動する状態になるまで、2時間ぐらいかかった…。更に、そこから始まる Windows Update地獄…。115ファイル、500MBほどをDLしてインストール…。
その他にも、Microsoft Security Essentials のデータベースが更新できなくなってたりとか。更新ボタンを押しても、ネットワークに異常があるとエラーメッセージが表示されるだけで。 _日々パソコンと Microsoft Security Essentialsが更新できない? を参考に、C:\Program Files\microsoft security essentials の中で mpcmdrun -removedefinitions -all を実行してみたところ、最初の1回はデータベースをDLできたけど、その後更新ボタンを押しても、またしてもエラーがどうこうと言われる。
面倒臭くなってきた。OS再インストール・工場出荷時に戻すことにする…。
一応、HDDの中に入ってた各種ファイルをバックアップしておいた。
スタートボタン → すべてのプログラム → Gateway Recovery Center → Gateway Recovery Center、を選んで、「リカバリ」をクリック。PCが再起動してシステム回復なんたらが出てきて、キーボードレイアウトを選んだり、管理者権限を持ったユーザアカウントを選んだり。
一番下の Recover Manager 32bit、とやらを選択。Widnows Vista が入っていたパーティションの中身が全部消えて、リカバリー用パーティションの中身を使って工場出荷時のHDD状態になってくれる。はず。
フツーにVistaが起動する状態になるまで、2時間ぐらいかかった…。更に、そこから始まる Windows Update地獄…。115ファイル、500MBほどをDLしてインストール…。
[ ツッコむ ]
2014/08/14(木) [n年前の日記]
#1 [prog] CakePHPを勉強中
_CakePHP入門 (全32回) - プログラミングならドットインストール
があることに気付いて、視聴&写経して勉強中。
[ ツッコむ ]
#2 [anime][neta] AIが撮影した写真
夢の中で、AI(人工知能)を積んだオートバイが撮影した写真、てな設定が出てきてなんだか面白いなと思ったのでメモ。変身ヒーローが乗ってるオートバイが、ゲストキャラの幼女を和ませようと、旅の途中で自分(=オートバイ)が撮影した紅葉だの海だのの写真を見せる、みたいな状況で。最初は液晶画面に写真を表示してたのだけど、ガレージ内に360度プロジェクションマッピングをして幼女を喜ばせる、みたいな光景で。
ナイトライダーやボーグマン等で、そういうシーン・設定がありそうな気もする。
ナイトライダーやボーグマン等で、そういうシーン・設定がありそうな気もする。
[ ツッコむ ]
#3 [anime][neta] アニメと喫煙
ここ最近、複数のTVアニメ作品の中で、何故か立て続けに、「煙草を口にくわえたまま喋っているキャラ」のカットを見かけたのですけど。
なんだか気になるのです。喫煙者の感覚からすると、煙草を口にくわえたままベラベラ喋るなんて、フツーやらないわけで。
以下のような理由でもあるのかしらと勝手に想像。
なんだか、カリ城あたりをチェックしてみたい気分にもなってきたり。ヘビースモーカーの宮崎駿監督はどういう見せ方をしていたのだろう。なんとなくだけど、ルパンや次元が、煙草を口にくわえたまま喋ってたような気もする…。仮にそうだとすれば、何か狙いがあって、わざとそういう見せ方をしたのだろうけど、その狙いとは何だろう。それとも、カリ城の中では、そういう吸い方を全くしてなかったりして? 記憶が怪しいなあ…。
それにしても、この御時世、アニメの中で煙草を描くだけでも随分頑張ってるような気もしたり。アレなプロデューサーだったら、クレームがつくから煙草を絶対に描くな、などと言い出しそうだよなと。
む。もしかすると、アレは煙草じゃなくて、チョコレートやキャンディーだったのかも。そういえば、煙が出ていたのか、そこまで確認してないや。煙が出てないのだから、口にくわえたまま喋れて当然だよな。「喫煙シーンを描くな」と怒られた時、「いやいや、これは煙草じゃないですから。煙草をくわえたまま喋ることなんかできないでしょ? 煙も出てないでしょ?」と誤魔化せるように、わざとそういう吸い方を描いてるのかも。なんちてぽっくん。
まあ、たぶん、動画枚数を増やさないために、アニメの中ではそういう見せ方が普及しちゃったのかなと思うんですけど。どうなんですかね。
考えてみれば、時代劇で煙管を「パカン」と打ちつけるアクションに近いのかもしれないか。現実には、煙管を勢いよく打ち付けたりはしないわけですよ。単純に、煙管が壊れる・痛む・傷つくので、やりません。実際に煙管で吸い始めて、「ああ、あのアクションは嘘だわ。この強度で、やれるわけないわ」と知りましたが。煙草をくわえたまま喋るソレも、そういった、ドラマや映画の中でしかやらないアクションの一つ、だったりするのかもしれないなと。
喫煙に限らず、そういうのってたくさんありそうですな。例えば、食パンを口にくわえて「遅刻遅刻〜」とか。ねえよ。リアルワールドで絶対ソレやらねえよ。そんなアレコレをリストアップしてみたら、なんだか面白いかも。
「現実にはやらないけど映像作品中ではお約束になってるアクション」を駆使して事件を解決しちゃうヒーロー、とか。映像作品中のキャラクターが現実世界に飛び出してきたら何が起きるか、とか。そういうアレはどうだろう。と思ったけど、アキバレンジャーがソレか…。
なんだか気になるのです。喫煙者の感覚からすると、煙草を口にくわえたままベラベラ喋るなんて、フツーやらないわけで。
- 喋ってる最中に煙草をうっかり落としたら大惨事になる。
- ずっと煙草を口にくわえていると、煙が目に入って痛い。悶絶する。
以下のような理由でもあるのかしらと勝手に想像。
- アニメ業界内でも喫煙者が激減していて、煙草の吸い方を知らない人がコンテ・演出を担当している。
- アニメ・ドラマ・映画業界では、そういう吸い方をできてしまう人が何故か多い。上手に吸うテクニックが言い伝えられている。
- 煙草を手に持ち直す動作を入れてしまうと動画枚数が増えてしまう。予算やスケジュールの問題があるので、やらない。
- 煙草を口にくわえたまま喋るという動作を見せることで、キャラの性格や状態を伝達しようとしている。煙草を使った演出の一つとして、かつて存在していた技。
なんだか、カリ城あたりをチェックしてみたい気分にもなってきたり。ヘビースモーカーの宮崎駿監督はどういう見せ方をしていたのだろう。なんとなくだけど、ルパンや次元が、煙草を口にくわえたまま喋ってたような気もする…。仮にそうだとすれば、何か狙いがあって、わざとそういう見せ方をしたのだろうけど、その狙いとは何だろう。それとも、カリ城の中では、そういう吸い方を全くしてなかったりして? 記憶が怪しいなあ…。
それにしても、この御時世、アニメの中で煙草を描くだけでも随分頑張ってるような気もしたり。アレなプロデューサーだったら、クレームがつくから煙草を絶対に描くな、などと言い出しそうだよなと。
む。もしかすると、アレは煙草じゃなくて、チョコレートやキャンディーだったのかも。そういえば、煙が出ていたのか、そこまで確認してないや。煙が出てないのだから、口にくわえたまま喋れて当然だよな。「喫煙シーンを描くな」と怒られた時、「いやいや、これは煙草じゃないですから。煙草をくわえたまま喋ることなんかできないでしょ? 煙も出てないでしょ?」と誤魔化せるように、わざとそういう吸い方を描いてるのかも。なんちてぽっくん。
まあ、たぶん、動画枚数を増やさないために、アニメの中ではそういう見せ方が普及しちゃったのかなと思うんですけど。どうなんですかね。
考えてみれば、時代劇で煙管を「パカン」と打ちつけるアクションに近いのかもしれないか。現実には、煙管を勢いよく打ち付けたりはしないわけですよ。単純に、煙管が壊れる・痛む・傷つくので、やりません。実際に煙管で吸い始めて、「ああ、あのアクションは嘘だわ。この強度で、やれるわけないわ」と知りましたが。煙草をくわえたまま喋るソレも、そういった、ドラマや映画の中でしかやらないアクションの一つ、だったりするのかもしれないなと。
喫煙に限らず、そういうのってたくさんありそうですな。例えば、食パンを口にくわえて「遅刻遅刻〜」とか。ねえよ。リアルワールドで絶対ソレやらねえよ。そんなアレコレをリストアップしてみたら、なんだか面白いかも。
「現実にはやらないけど映像作品中ではお約束になってるアクション」を駆使して事件を解決しちゃうヒーロー、とか。映像作品中のキャラクターが現実世界に飛び出してきたら何が起きるか、とか。そういうアレはどうだろう。と思ったけど、アキバレンジャーがソレか…。
[ ツッコむ ]
2013/08/14(水) [n年前の日記]
#1 [windows] Windows XPってsleepコマンドは標準で無かったのか
VMware Player + Windows XP 上でバッチファイルを動かしたら、「sleep? そんなコマンドはねえよ」と言われて、「アレ?」と。知らんかった。入っているものとばかり。
というか、Windows には入ってないんだな…。あちこちから集めてきたコマンドを入れてあるフォルダに、自分でパスを通してたから使えてただけで。そうか…入ってないのか…。すると、その手のプログラムを配布する時には同梱しておかないといかんのだな…。
_Windows Vista 以降は timeout というコマンドが使える らしい。Vista 以降か…。
_WindowsXP標準機能だけでスリープ(コマンド)の実装 | trash-area.com や _どーでもえぐぜ に、batファイルの中にwshまで書いてしまう事例が。こんな書き方があるとは…。
というか、Windows には入ってないんだな…。あちこちから集めてきたコマンドを入れてあるフォルダに、自分でパスを通してたから使えてただけで。そうか…入ってないのか…。すると、その手のプログラムを配布する時には同梱しておかないといかんのだな…。
_Windows Vista 以降は timeout というコマンドが使える らしい。Vista 以降か…。
_WindowsXP標準機能だけでスリープ(コマンド)の実装 | trash-area.com や _どーでもえぐぜ に、batファイルの中にwshまで書いてしまう事例が。こんな書き方があるとは…。
[ ツッコむ ]
#2 [prog] Gitについて調べてたり
Gitというか、TortoiseGit なんだけど。自分、使い方を完全に忘れてるわけで。
とりあえずGitで管理したいなら、管理したいフォルダを右クリックして、「ここにリポジトリを作成」を選ぶだけで良かったらしい。Bareを作成するか聞かれるけど、管理したいフォルダとは別のフォルダに関連情報?を記録しておきたい場合は、そのBareとやらが必要になる・別フォルダがBareになるそうで。だから、そういう管理の仕方をしないのであれば、チェックを外しておいてOK、みたいな。
あとは、管理したいファイルを「追加」して、その後、「コミット」。おそらく…。
GitHub にもリポジトリを作って、アップロードしてみたり。いや、アップロードと呼ばずに、「プッシュ」と呼ぶらしいけど。
GitHubにログインして、自分のアカウントページ上で、「New Repository」をクリック、すればリポジトリを作成できる…のだったかなあ…。もう覚えてないや。あとは、リポジトリ名の入力をするぐらい。
リポジトリを作成できたら、「コマンドラインのgitを使ってるなら、こう打てばプルやプッシュができるよ」とGitHubが説明ページを表示してくれる。一応手元にメモっておいたり。
その後の操作は、今一つ内容がよく分かってないのだけど。とりあえず巷の解説ページを頼りにしつつ。TortoiseGit に同梱されてる Puttygen を使って、「公開鍵」(public key)と「秘密鍵」(private key)なる2つのファイルを作成。その鍵を使ってリポジトリにアクセスする、のかな。たぶん。公開鍵が、サーバに置いとく文字列。秘密鍵が、自分のPCだけで持っておくファイル。
ひとまず、解説ページの通りに、
公開鍵をGitHub側に登録。公開鍵となる文字列を貼り付け。TortoiseGit からサーバにプッシュする設定をする際には、秘密鍵のファイルを指定。
どこに向けて ―― どのURL?URI?に対してプッシュするのかは、GitHubが表示してくれた説明ページに書いてあった気がする。git@github.com:アカウント名/リポジトリ名.git、だったかな…。
次回も、絶対に手順を忘れそうな気がするなあ…。
とりあえずGitで管理したいなら、管理したいフォルダを右クリックして、「ここにリポジトリを作成」を選ぶだけで良かったらしい。Bareを作成するか聞かれるけど、管理したいフォルダとは別のフォルダに関連情報?を記録しておきたい場合は、そのBareとやらが必要になる・別フォルダがBareになるそうで。だから、そういう管理の仕方をしないのであれば、チェックを外しておいてOK、みたいな。
あとは、管理したいファイルを「追加」して、その後、「コミット」。おそらく…。
- 「追加」は、「このファイルをgitで管理してほしいんですけどー」と伝える操作。ただし、ファイルの中身はまだgitに渡してない。
- 「コミット」は、「gitで管理してるファイルの中身そのものを渡しますよ。現時点のソレをバックアップ(?)しといて」てな操作。
GitHub にもリポジトリを作って、アップロードしてみたり。いや、アップロードと呼ばずに、「プッシュ」と呼ぶらしいけど。
GitHubにログインして、自分のアカウントページ上で、「New Repository」をクリック、すればリポジトリを作成できる…のだったかなあ…。もう覚えてないや。あとは、リポジトリ名の入力をするぐらい。
リポジトリを作成できたら、「コマンドラインのgitを使ってるなら、こう打てばプルやプッシュができるよ」とGitHubが説明ページを表示してくれる。一応手元にメモっておいたり。
その後の操作は、今一つ内容がよく分かってないのだけど。とりあえず巷の解説ページを頼りにしつつ。TortoiseGit に同梱されてる Puttygen を使って、「公開鍵」(public key)と「秘密鍵」(private key)なる2つのファイルを作成。その鍵を使ってリポジトリにアクセスする、のかな。たぶん。公開鍵が、サーバに置いとく文字列。秘密鍵が、自分のPCだけで持っておくファイル。
ひとまず、解説ページの通りに、
- 公開鍵 ... id_rsa.pub
- 秘密鍵 ... id_rsa.ppk
公開鍵をGitHub側に登録。公開鍵となる文字列を貼り付け。TortoiseGit からサーバにプッシュする設定をする際には、秘密鍵のファイルを指定。
どこに向けて ―― どのURL?URI?に対してプッシュするのかは、GitHubが表示してくれた説明ページに書いてあった気がする。git@github.com:アカウント名/リポジトリ名.git、だったかな…。
次回も、絶対に手順を忘れそうな気がするなあ…。
[ ツッコむ ]
2012/08/14(火) [n年前の日記]
#1 [anime][neta] 学生運動とロボットを組み合わせた設定ってどうかな
と何故か唐突に思ったのだけど。直後、ソレって
_RIDEBACK
じゃないか、と思い出した。
ロボットではなくて戦闘スーツだけど。押井守監督の赤い眼鏡シリーズも、もしかしたらソレなのかな。見たことないから分からないけど、なんだかそんなイメージ。
学生運動じゃなくて労働組合活動、かつ、ロボットモノじゃなくてファンタジー(?)だけど。高畑勲監督の _太陽の王子 ホルスの大冒険 も、もしかしたらソレなのか。
押井監督と高畑監督のソレは、その時代を当人が体験している、という共通項があるのだろうけど。やはり、「その時代」を体験しているということは、創作をする上で強みになったりするのだろうかと思えてきたり。水木しげる先生が戦争漫画を描くと、そのほとんどが創作だとしても、妙にリアリティのある作品になる、みたいなもんで。
となると、仮に自分達の世代が、学生運動なり労働組合なりを描写しようとしても、それはなんだか絵空事というか、リアリティに欠ける描写になってしまうのかな、という不安も。何せ、デモに参加なんてしたことない・団結して権力側に異を唱えてみることを一度もしたことがない人がほとんどだったりする世代なわけだし。活動者側を嘲笑する描写はリアリティを持って描けても、活動者側のリアリティは描けない予感。
ならば、自分達の世代は、自分達の世代が体験したことを描写したほうがいい…のかもしれないけれど、さて、自分達の世代が体験した「時代」って、一体何があるんだろうなと悩んでしまったり。学生運動や労働組合活動が盛んだった時代にどこかしら似ている、ある種の熱気・狂乱とも言えそうな何かを、自分達の世代は体験したことがあるのだろうか? 体験しているとしたら、それは一体何だろう?
コミケかなあ…? って飛躍し過ぎか。しかし、熱気とか狂乱とか言い出したら、それぐらいしか思いつかない。学生運動や労働組合に比べたらシリアスさが欠片も無いけど。でも、「その熱気なら知ってる! 体験した!」という人も多い予感。
とすれば、主人公はコミケ参加者で、そこに権力側が不当な弾圧を実力行使でかけてきて、それに対抗してロボットに乗って戦う、みたいな設定になるんだろうか。自分で書いててイメージがさっぱり湧かないけど。
もしかすると、ソレって図書館戦争じゃないのか。あるいは、AKB0048じゃないのか。創作、あるいは文化に対して、不当な弾圧を行う権力側。それに反抗する主人公側。そういう図式。なるほど、自分達の世代にとっては、図書館戦争やAKB0048が、赤い眼鏡シリーズやホルスに相当していたのか。…ってそんな結論でいいの?
それはともかく。自分達の世代が体験したであろう「時代」を認知できれば、そこから何か、設定なり企画なりを生み出せそうな予感も。自分はちょっと思いつかないけど。自分達の世代が体験した「時代」。そんなもの、あるのかなあ…?
ロボットではなくて戦闘スーツだけど。押井守監督の赤い眼鏡シリーズも、もしかしたらソレなのかな。見たことないから分からないけど、なんだかそんなイメージ。
学生運動じゃなくて労働組合活動、かつ、ロボットモノじゃなくてファンタジー(?)だけど。高畑勲監督の _太陽の王子 ホルスの大冒険 も、もしかしたらソレなのか。
押井監督と高畑監督のソレは、その時代を当人が体験している、という共通項があるのだろうけど。やはり、「その時代」を体験しているということは、創作をする上で強みになったりするのだろうかと思えてきたり。水木しげる先生が戦争漫画を描くと、そのほとんどが創作だとしても、妙にリアリティのある作品になる、みたいなもんで。
となると、仮に自分達の世代が、学生運動なり労働組合なりを描写しようとしても、それはなんだか絵空事というか、リアリティに欠ける描写になってしまうのかな、という不安も。何せ、デモに参加なんてしたことない・団結して権力側に異を唱えてみることを一度もしたことがない人がほとんどだったりする世代なわけだし。活動者側を嘲笑する描写はリアリティを持って描けても、活動者側のリアリティは描けない予感。
ならば、自分達の世代は、自分達の世代が体験したことを描写したほうがいい…のかもしれないけれど、さて、自分達の世代が体験した「時代」って、一体何があるんだろうなと悩んでしまったり。学生運動や労働組合活動が盛んだった時代にどこかしら似ている、ある種の熱気・狂乱とも言えそうな何かを、自分達の世代は体験したことがあるのだろうか? 体験しているとしたら、それは一体何だろう?
コミケかなあ…? って飛躍し過ぎか。しかし、熱気とか狂乱とか言い出したら、それぐらいしか思いつかない。学生運動や労働組合に比べたらシリアスさが欠片も無いけど。でも、「その熱気なら知ってる! 体験した!」という人も多い予感。
とすれば、主人公はコミケ参加者で、そこに権力側が不当な弾圧を実力行使でかけてきて、それに対抗してロボットに乗って戦う、みたいな設定になるんだろうか。自分で書いててイメージがさっぱり湧かないけど。
もしかすると、ソレって図書館戦争じゃないのか。あるいは、AKB0048じゃないのか。創作、あるいは文化に対して、不当な弾圧を行う権力側。それに反抗する主人公側。そういう図式。なるほど、自分達の世代にとっては、図書館戦争やAKB0048が、赤い眼鏡シリーズやホルスに相当していたのか。…ってそんな結論でいいの?
それはともかく。自分達の世代が体験したであろう「時代」を認知できれば、そこから何か、設定なり企画なりを生み出せそうな予感も。自分はちょっと思いつかないけど。自分達の世代が体験した「時代」。そんなもの、あるのかなあ…?
[ ツッコむ ]
#2 [anime][neta] 男性主人公が剣・刀になる設定について馬鹿妄想
しばらく前に、
_C3 -シーキューブ-
とか、ギルティクラウンとかで、美少女キャラが日本刀になったり、美少女キャラから剣を取り出したりする設定があって。「なんだか似た設定が同時期に出てきたなあ。『今、アニメ業界は、美少女を刀にするのがアツイ!』…のかな?」てなことをチラリと思ったのだけど。
先日、 _だから僕は、Hができない。 というアニメで、男性主人公の胸から剣が出てくる映像を見て。あるいは、 _カンピオーネ! というアニメで、男性主人公が山ほど剣を出現させる映像を見て。「これは C3-シーキューブやギルティクラウンの逆設定かも。『今、アニメ業界は、男性キャラを刀にするのがアツイ!』…のかねえ?」と。
で。せっかく男性キャラが刀を出すのであれば、股間から出せないものかなあ、てな妄想を。
カッコイイOP曲が流れる中で、苦悶の表情を浮かべながら咆哮する男性主人公。ドッギャーン。光り輝きながら、そそり立つ武器。
なんか色々とゴメンナサイ。
先日、 _だから僕は、Hができない。 というアニメで、男性主人公の胸から剣が出てくる映像を見て。あるいは、 _カンピオーネ! というアニメで、男性主人公が山ほど剣を出現させる映像を見て。「これは C3-シーキューブやギルティクラウンの逆設定かも。『今、アニメ業界は、男性キャラを刀にするのがアツイ!』…のかねえ?」と。
で。せっかく男性キャラが刀を出すのであれば、股間から出せないものかなあ、てな妄想を。
カッコイイOP曲が流れる中で、苦悶の表情を浮かべながら咆哮する男性主人公。ドッギャーン。光り輝きながら、そそり立つ武器。
なんか色々とゴメンナサイ。
◎ 全然関係ないけど、股間と言えば。 :
先日、
_はぐれ勇者の鬼畜美学
というアニメで、全裸イケメン男性主人公の股間で魔法陣がグルグルと回る映像があって。その映像に、いたく感銘を受けてしまったり。
つまるところ、ソレは規制表現ではあるのだけど。お上から強制されたソレを必ずやるしかないのだから、どうせならソレを使って遊んじまえ! という、ある種のしたたかさがそこにあるように感じたり。 *1 自分は江戸っ子じゃないのだけれど、その映像を目にして、「なるほど、こいつあ粋だねえ」と称賛したい気分に。…現代のアニメの中にだって、「粋」の精神が、こうして見て取れたりするのだと。考え過ぎかな。
ボカシやモザイク等の規制表現も、一手間・一工夫を惜しまなければ、エンターテイメントのレベルに高めることができる。そんな可能性が残っている。件の魔法陣は、その見事な実証例ではあるまいか。そしてソレは、創作者が、「どうせコレはこういうもんだから」と諦めてしまった途端、辿り着けなくなることが間違いなく確定する。諦めずに意識し続けた者だけが発見できる領域なのだろう、と。
てなことを思い、笑った直後、そこにあるのであろう作り手の表現に対する熱い想い、魂、諦めていない姿勢を想像して、なんとなく胸が熱くなったりもして。例えば、京アニ作品も色々と諦めずに高みへと登り続けているけれど。この作品のスタッフも、同じように諦めていないのだなと。…どこを諦めていないのかは、それぞれ全く異なっているけれど。
それはそれとして。そのあたりの表現の面白さは、ふたばの金田コラ(?)画像にも、その萌芽が見えていたような気もしたり。日本国内においては、こういった表現も、より洗練・進化していくのだろうか。また、海外の作品は規制内容が異なるだろうけど、それを回避すべく模索する中から生まれるであろう特徴としては何があるか。てなあたりも気になり始めたりもして。
つまるところ、ソレは規制表現ではあるのだけど。お上から強制されたソレを必ずやるしかないのだから、どうせならソレを使って遊んじまえ! という、ある種のしたたかさがそこにあるように感じたり。 *1 自分は江戸っ子じゃないのだけれど、その映像を目にして、「なるほど、こいつあ粋だねえ」と称賛したい気分に。…現代のアニメの中にだって、「粋」の精神が、こうして見て取れたりするのだと。考え過ぎかな。
ボカシやモザイク等の規制表現も、一手間・一工夫を惜しまなければ、エンターテイメントのレベルに高めることができる。そんな可能性が残っている。件の魔法陣は、その見事な実証例ではあるまいか。そしてソレは、創作者が、「どうせコレはこういうもんだから」と諦めてしまった途端、辿り着けなくなることが間違いなく確定する。諦めずに意識し続けた者だけが発見できる領域なのだろう、と。
てなことを思い、笑った直後、そこにあるのであろう作り手の表現に対する熱い想い、魂、諦めていない姿勢を想像して、なんとなく胸が熱くなったりもして。例えば、京アニ作品も色々と諦めずに高みへと登り続けているけれど。この作品のスタッフも、同じように諦めていないのだなと。…どこを諦めていないのかは、それぞれ全く異なっているけれど。
それはそれとして。そのあたりの表現の面白さは、ふたばの金田コラ(?)画像にも、その萌芽が見えていたような気もしたり。日本国内においては、こういった表現も、より洗練・進化していくのだろうか。また、海外の作品は規制内容が異なるだろうけど、それを回避すべく模索する中から生まれるであろう特徴としては何があるか。てなあたりも気になり始めたりもして。
*1: と言ってもこの場合、お上と言っても身内のソレ、BDを売るための手段、かなと邪推もするのだけど。
[ ツッコむ ]
#3 [digital] 東芝RD-BZ710がガンダムAGEを録画し損ねてたっぽい
なんかプロレス?レスリング?映像が録画されてた…。追跡録画をしてくれなかったんだな…。先日、BSで放送してたアニメ番組に対しては、ギリギリで延長放送による放送時間変更に対応してくれたので、実は意外と出来る子なのかと思ってしまったけれど。やっぱり、ダメな子だったのだな。
そもそも地上波放送は、放送時間変更云々のデータが電波に載ってない可能性もありそう、という気もする。どこらへんを見れば、そのあたりのスペックだか仕様だか規格だかが分かるのだろうか…。
そもそも地上波放送は、放送時間変更云々のデータが電波に載ってない可能性もありそう、という気もする。どこらへんを見れば、そのあたりのスペックだか仕様だか規格だかが分かるのだろうか…。
◎ そもそも放送休止だったっぽい? :
何話を見逃したんだろうと思って検索したのだけど、ひょっとしてそもそも放送休止だった? だとしたら、RD-BZ710 が、またミスをしたというわけではなかったのか…。ゴメンよ、RD-BZ710。ちょくちょく妙な動作を見せるから、またお前かと決めつけてしまった。疑ってスマンカッタ。
アナログビデオ時代に比べたら、放送時間変更等にも(ほとんどの場合は)追従してくれる等、便利になったところもあるのだけど。時々録画できてない・冒頭が録画失敗する不具合が多発してるから、どうにも…。今の東芝製HDDレコーダは、アニメオタクが買ってはいけないHDDレコーダ、なんだろうな。アナログ放送時代は、そうじゃなかったのだけどなあ…。
アナログビデオ時代に比べたら、放送時間変更等にも(ほとんどの場合は)追従してくれる等、便利になったところもあるのだけど。時々録画できてない・冒頭が録画失敗する不具合が多発してるから、どうにも…。今の東芝製HDDレコーダは、アニメオタクが買ってはいけないHDDレコーダ、なんだろうな。アナログ放送時代は、そうじゃなかったのだけどなあ…。
[ ツッコむ ]
#4 [nitijyou] 弟が規制
渋滞を避けて、夜中の12:00ちょっと前に到着。お疲れ様…。
[ ツッコむ ]
2011/08/14(日) [n年前の日記]
#1 [nitijyou] 自宅サーバ止めてました
雷が鳴り始めたので、21:00-23:30まで自宅サーバを止めてました。申し訳ないです。
[ ツッコむ ]
2010/08/14(土) [n年前の日記]
#1 [nitijyou] ヘッドフォンのコードが溶けてた
机の引出しからヘッドフォン(インナーイヤータイプ)を発掘したのだが、コードがベトベトになっていた。ビニール部分が溶けてしまっていたらしい。石油から作られてるから、なのだろうか。テイッシュで何度も拭いてみたけど、ベトベトも取れないし、ティッシュは茶色くなるし。捨てるしかないな…。
夜中のTV視聴時に、SONY MDR-G64 を使っているのだけど。自分はメガネ者なので、長時間使っていると眼鏡のつる?がヘッドフォンで挟まれて耳の付け根が痛くなってくる。故に、そういう時だけでもヘッドフォンを別のものにしようかと思って引出しの中を漁ったのだけど。何か新しいのを買ってこないといかんなあ…。
夜中のTV視聴時に、SONY MDR-G64 を使っているのだけど。自分はメガネ者なので、長時間使っていると眼鏡のつる?がヘッドフォンで挟まれて耳の付け根が痛くなってくる。故に、そういう時だけでもヘッドフォンを別のものにしようかと思って引出しの中を漁ったのだけど。何か新しいのを買ってこないといかんなあ…。
[ ツッコむ ]
2009/08/14(金) [n年前の日記]
#1 [nitijyou] 弟が仙台に戻った
PM08:00頃に出発。2時間ぐらいで仙台についたらしい。電話連絡によると、帰りはそれほど混んでなかったとの話。
[ ツッコむ ]
2008/08/14(木) [n年前の日記]
#1 [neta][game] ゲームにおける回想シーンの演出案
ポリゴン表示のゲーム内において回想シーンが出てきたときに「これは回想シーンですよ」と明確にできそうな演出を脈絡なく思いついたのでメモ。
回想シーンになると2Dドット絵になる、のはさすがにやり過ぎか。「スプライトに1色しか使ってない、てことはMSX版で活躍してたという設定なのか!」とか「色数が少ない上に画面がボケボケしてる、てことはMD版を回想してるシーンかよ!」とか。
…まあ、シリーズモノで、OPデモの中に、過去の作品のスクリーンショットが次々に現れる、なんてのは昔からやってる手法なので、珍しくもないというか、実にありがちな見せ方のような気もしてきた。
- 走査線の数が少なくなったように見せる。毎フレーム、縦方向の偶数座標・奇数座標に黒い線を並べるとか。TVゲームならでは・高解像度による表示がそれなりに普及したらしい現在だから通用する「昔風」の見栄え。
- モデルのポリゴン数を異様に少なくする。「このポリゴン数はPS1時代、いや、SS時代か? いやいや、SFC+特殊チップ搭載ROMカートリッジ時代?」みたいな。
回想シーンになると2Dドット絵になる、のはさすがにやり過ぎか。「スプライトに1色しか使ってない、てことはMSX版で活躍してたという設定なのか!」とか「色数が少ない上に画面がボケボケしてる、てことはMD版を回想してるシーンかよ!」とか。
…まあ、シリーズモノで、OPデモの中に、過去の作品のスクリーンショットが次々に現れる、なんてのは昔からやってる手法なので、珍しくもないというか、実にありがちな見せ方のような気もしてきた。
[ ツッコむ ]
#2 [prog][neta] oldtypeとかmodernとか
_Perl 5 今昔 - Perl-users.jp
_正直、Mooooooose 溺愛のPerlコミュニティにはついていけない
_「正直、Mooooooose 溺愛のPerlコミュニティにはついていけない」を読んで
oldtypeは仕事でいやいやPerl触ってる人達の流儀で、modernは仕事なのに趣味のつもりでPerl触ってる人達の流儀、という印象を受けた。実際はどうなのかは知らない。 *1
_正直、Mooooooose 溺愛のPerlコミュニティにはついていけない
_「正直、Mooooooose 溺愛のPerlコミュニティにはついていけない」を読んで
oldtypeは仕事でいやいやPerl触ってる人達の流儀で、modernは仕事なのに趣味のつもりでPerl触ってる人達の流儀、という印象を受けた。実際はどうなのかは知らない。 *1
◎ 全然関係ないけど二言目にはCPANが出てくる現状もちょっと困る感じもしていて。 :
非プログラマーのクライアント様の手元のWindows環境にActivePerlをインストールしてもらえそうなだけでも胸をほっと撫で下ろしたりする状態なのにこの上CPANからモジュールをどうこうなんて勘弁していただけないものか。という感じの場面も無きにしも非ずなために、車輪の再発明の可能性もあるができるだけActivePerlの*.msiにも入ってる程度の標準的というかそこそこ普及はしてるのであろうモジュールのみを使って書かないとダメだよねと思ったりすることも多いのだけど。
待てよ? エクスプローラ上でダブルクリックするだけでCPANから勝手に自動でガンガン落としてくる何かが存在すれば問題解決なのか? そういうモジュールがCPANにないかしら。<オイ。
待てよ? エクスプローラ上でダブルクリックするだけでCPANから勝手に自動でガンガン落としてくる何かが存在すれば問題解決なのか? そういうモジュールがCPANにないかしら。<オイ。
*1: まあ、どっちで書いたって動くんだからどうでもいいじゃんと思わないでもないけど、考えてみれば昔風の書き方のほうがよく知られてるならメンテナンス性が高いのはoldtypeじゃないのかという気もしたり。まあ、少しずつ、全体的にmodernに移行していくのだろうし、その頃には「流行」と「標準」も選別・自然淘汰されてるだろうから、そうなるまではoldtypeで書いててもいいよな、動くんだし。という気もしたけどそれでいいのかどうかはよく判らない。
[ ツッコむ ]
#3 [nitijyou] 弟の車で午前中移動
郵便局、スーパー(カワチ)、銀行に運んでもらったり。車高が低いマニュアル車のせいなのか、乗っててちょっと怖い。マニュアル車は運転が過激になるのだろうか。
[ ツッコむ ]
#4 [nitijyou][pc] ノートPC gateway M-2408jを購入
午後、親父さんの車に弟と一緒に同乗させてもらって、ケーズデンキまで。ノートPC Gateway M-2408j を購入。本体+5年保証で、80,640円。かつ、無線LANルータ NEC Aterm WR6670S も一緒に購入。6,770円。
無線ルータに関しては、
◎ 選択理由。 :
- CPUがデュアルコアであること。Windows Vistaは重いらしいし、できればDoJaエミュレータ画面のキャプチャがまともにできると嬉しい。新しいメインPCを買わずに済むので。
- メモリが2GB以上積んであること。eclipseその他を動かす可能性を考えると、そのくらいは欲しい。(Vistaとオンボードビデオチップにメモリを取られることを考えると2GBでも少ないのかも…?)
- 無線LAN内蔵であること。階下に持っていったり、2階に持っていったりするたびにケーブルを外す・繋ぎ直すのは面倒なので。
- USB端子が(いくらなんでも)ついてること。Thinkpad 760ELは、USB端子すらついてないことで、本当になんにもできなかったので。
- 新品であること。中古や展示処分品は液晶が死にかけてるからダメ。もう黄色い画面は見たくない。(逆に言うと、液晶さえ状態がよければ、中古で充分過ぎるのだけど…。)
- 安いこと。メインPCとして使わないので、高級なものは要らない。
- 不具合報告が比較的少ないこと。→これでAcer製・SONY製の選択肢は消えた。
- ケースを開けて自分で弄ることが比較的できなくもないもの。(実際弄るかどうかは別として、HDD交換すらままならない日本製ノートPCはちょっと怖い)
無線ルータに関しては、
- 動作が安定してること。
- ルータ機能を無効にしてアクセスポイントとして扱えるもの。
- 今使ってるルータが破損した場合に代替になりえる程度のスペックを持っているもの。
◎ 購入理由。 :
今まで、ノートPCが必要そうな場面では、中古の Thinkpad 760EL を持ち出していたのだけど。さすがに Pentium 133MHz では一切何もできない時代になってしまってるわけで。先日階下に持っていった時も、親父さんから「これはダメだ」「遅すぎて使えない」と文句を言われていたので、そろそろ真っ当なノートPCを1台持っておいたほうがいいのかなと。
使用目的は以下のとおり。
使用目的は以下のとおり。
- お袋さんが「インターネットを見たい」と言った時に使う。
- 親父さんが、写真同好の集まりに出るときにノートPCがあると便利だから欲しい欲しい、と以前から言ってたのでそれに使う。
- 自分のメインPCが、万が一正常動作しなくなったとき、仕事(?)・作業が一切出来なくなると困るときもあるので、そういったときの緊急時用・バックアップ用に使う。
- 弟が帰省した際に使わせる。
◎ 帰宅後セットアップ。 :
メーカ製PC(?)を買ったのは、NEC PC-9821 Canbe以来だったり。プリインストールその他がされているのは、実に楽で良いなと、つくづく…。
ただ、無線LAN機器の扱いは初めてなのでハマった。3回ぐらい、親機の設定をリセットする羽目に。ルータの添付CD-ROMに入ってる、ユーティリティ(WinXP SP2 or Vista にのみ対応)を動かせば、自動で設定してくれる、と判るまでが長かった。…Linuxでこれをやろうとしたら大変なことになりそうな予感。
ただ、無線LAN機器の扱いは初めてなのでハマった。3回ぐらい、親機の設定をリセットする羽目に。ルータの添付CD-ROMに入ってる、ユーティリティ(WinXP SP2 or Vista にのみ対応)を動かせば、自動で設定してくれる、と判るまでが長かった。…Linuxでこれをやろうとしたら大変なことになりそうな予感。
◎ 少し触ってみた感想。 :
- 液晶は問題なし。詳しい人が見たら全然ダメなのかもしれんけど、ウチでは、中古の Thinkpad 760EL の死にかけのバックライトによる黄色い画面を見続けてきたので、色が判るだけでも十分すぎる、というレベルだったり。表面がテカテカしてるのも、家の中で眺めてみたらそんなに気にならなかった。
- キーボードの配置はちょっと「?」状態。Enterキーの右横にあるPage Up、Page Down をうっかり押してしまう。でも、カーソルキーが逆T字になってるのは助かった。
- 端子の配置は特に問題なさげ。LAN端子は左奥。USB端子等は左奥と右奥。左前はカードスロット。右前はドライブ。弟から聞いて「なるほど」と思ったけれど、マウスを置くかもしれない右側手前にLAN端子やUSB端子を配してるものは使いづらいらしく。そういった酷い製品ではないように思える。
- 思っていたより大きい。ワイド液晶なので、横幅を取るのだなと。持ち運びが楽、とは到底言えないかもしれず。デスクトップよりはマシ、ぐらいの感じ。
- タッチパネルはほとんど触ったことがないのだけれど。こんなに使いづらいものとは思わなかった。ウチでは、マウスの増設が必須な予感。
- 初めて Windows Vista を触ったけれど。巷の評判通り、重いような気がする。起動時間も長いようだし。でも、画面エフェクトの数々はゲーム画面のようにも思えて好印象。
[ ツッコむ ]
2007/08/14(火) [n年前の日記]
#1 [zatta] _自分が幸せかどうかと、好む作品の内容がハッピーかどうか
なるほど…。
[ ツッコむ ]
#2 [game][movie] _世界で1億人以上が遊んだ名作ゲームがついに映画化!
[ ツッコむ ]
#3 [anime] BLUE DRAGON、御夫婦の回を鑑賞
この作品中に登場する影は、えてしてモンスターの姿をしてるわけだけど。それを逆手に取った設定で、見た瞬間、これはやられたなと…。ネタバレだけど、
影が人間体になると、これだけ話が膨らむとは。しかし考えてみれば、影=JoJoのスタンドみたいなものだろうし…。影がモンスターの姿をしてるほうが、どちらかというと珍しいのか。
[ ツッコむ ]
#4 [neta][anime] キャラをサポートする役どころの姿形が異なるだけで一風違った話が作れるのであらうか
であれば…。
たとえば、仮面ライダーに変身する人が女性で、ライダーベルトがイケメン男性とかはどうか。ライダーベルトと会話する仮面ライダーって時点で、なんか戦隊シリーズっぽいけど。…複数のベルトをとっかえひっかえする女性仮面ライダーってのもよさそうな。傍から見ると、イケメン男性をとっかえひっかえしてるようにしか見えない。事情を知らない友人キャラに「乱れてる! 不潔よ!」と言われてしまったり。イケメン男性ライダーベルトから、「最近お前太り過ぎ。お前の腹に巻きついたとき、俺が千切れてしまいそうだ」と苦情が出てショックを受けたり。…既存作品でありそうだな。そういう設定。
人間であるべきキャラが、人間以外の形をしてるというのはどうか。たとえば、先生が畜生モドキ。ってそれはゲキレンジャーか。
- 巨大ロボットが女性の姿をしていたらどうか。ってそれは「ARIEL」か。
- パイロットがロボットの姿をしていてロボットが人間の姿をしていたらどうか。ってそれは「メン・イン・ブラック(映画)」か。
- コンピュータが女性の姿をしていたらどうか。ってそれは「ぶっとび!!CPU」か。<フツー「ちょびっツ」じゃないのか? <や、「ちょびっツ」は読んだことないし。
- 出てくるモンスターが全部女性の姿をしていたらどうか。ってそれなんてエロゲ?
たとえば、仮面ライダーに変身する人が女性で、ライダーベルトがイケメン男性とかはどうか。ライダーベルトと会話する仮面ライダーって時点で、なんか戦隊シリーズっぽいけど。…複数のベルトをとっかえひっかえする女性仮面ライダーってのもよさそうな。傍から見ると、イケメン男性をとっかえひっかえしてるようにしか見えない。事情を知らない友人キャラに「乱れてる! 不潔よ!」と言われてしまったり。イケメン男性ライダーベルトから、「最近お前太り過ぎ。お前の腹に巻きついたとき、俺が千切れてしまいそうだ」と苦情が出てショックを受けたり。…既存作品でありそうだな。そういう設定。
人間であるべきキャラが、人間以外の形をしてるというのはどうか。たとえば、先生が畜生モドキ。ってそれはゲキレンジャーか。
この記事へのツッコミ
[ ツッコミを読む(2) | ツッコむ ]
#5 [comic] _腐女子の先生
それで、この夏コミで参加用紙もらって、冬コミに俺と相原くんその他で「やおい同人誌」を出そうという計画も考えているんですけど、光景を想像しただけで笑ってしまった。
周辺ブースのサークルが、竹熊×相原の突発コピー本でも作って祭りを盛り上げたりしないかしら。ちょこんと座ってるオヤジ(<失礼)二人の前後左右で、二人があんなことやこんなことをしてるやおい本がズラリと並ぶの図は、壮観というか、もはやカオス。冗談ですが。
コメント欄で、拒否反応がポロポロ出てるのがちょっと気になる。上手く盛り上げることができれば、それぞれにとって、楽しい思い出の1ページになりそうだけど。
[ ツッコむ ]
#6 [tv] 「はだしのゲン」実写ドラマ版の原爆投下シーンをコマ送りで鑑賞
どうやって作ってるんだろう…。想像がつかない。
遠景から迫ってくる土煙。プラグインとやらで作れるものなんだろうか。それとも、実写素材を撮影 or 入手して合成したり…? 海外の映画作品等では、天井に沿って広がっていく煙を実写で撮影して、それを上下さかさまにして地面を這う土煙として合成したりする、てな話をどこかで見かけたのだけど。実はそういうこともやってたりするのかしら。いや、TV放送用の映像に、そんな手間暇かけてる時間はないよな。
なんとなくだけど、煙が手前に来た時に、コマを抜いて、スピード感を出してるようにも見える。どことなくアニメ的な映像の作り方。…いや、自分の気のせい・思いすごしかもしれんけど。>コマを抜いてるか否か。
爆風で家屋が吹き飛ぶカット。道を歩いてる人間が、途中から切り替わってる ―― おそらくはCGの人体モデル?に切り替わってるのであろうとは思うのだけど。そのまま映像を流してる分にはまったく判らない。実写の人間と、CG人体モデルは、静止画で比較するとかなりの差異があるのだけど。つーかぶっちゃけCGのソレは、TVゲームに出てくるローポリモデル程度にも見えるのだけど。
にしても、MPEG2のビットレートが足りてなくて、破片が飛び散るコマはとんでもないことになってた…。もしかすると、地デジ放送もブロックノイズだらけになってたりするのだろうか。
遠景から迫ってくる土煙。プラグインとやらで作れるものなんだろうか。それとも、実写素材を撮影 or 入手して合成したり…? 海外の映画作品等では、天井に沿って広がっていく煙を実写で撮影して、それを上下さかさまにして地面を這う土煙として合成したりする、てな話をどこかで見かけたのだけど。実はそういうこともやってたりするのかしら。いや、TV放送用の映像に、そんな手間暇かけてる時間はないよな。
なんとなくだけど、煙が手前に来た時に、コマを抜いて、スピード感を出してるようにも見える。どことなくアニメ的な映像の作り方。…いや、自分の気のせい・思いすごしかもしれんけど。>コマを抜いてるか否か。
爆風で家屋が吹き飛ぶカット。道を歩いてる人間が、途中から切り替わってる ―― おそらくはCGの人体モデル?に切り替わってるのであろうとは思うのだけど。そのまま映像を流してる分にはまったく判らない。実写の人間と、CG人体モデルは、静止画で比較するとかなりの差異があるのだけど。つーかぶっちゃけCGのソレは、TVゲームに出てくるローポリモデル程度にも見えるのだけど。
- 色、配置場所、シルエットが、実写のソレとある程度合っている。特に色が一致してる。→人間は色さえあってれば大体は同じものとして認知するとかそんな話をどこかで聞いた記憶も。
- 画面を揺らしている。→形状のディティールが認知しづらい状態になってる。
- 画面奥に激しい動きをしてる煙・破片がある。→見てる側はそちらに注目してしまうので手前のオブジェクトが切り替わったことに気づかない。
にしても、MPEG2のビットレートが足りてなくて、破片が飛び散るコマはとんでもないことになってた…。もしかすると、地デジ放送もブロックノイズだらけになってたりするのだろうか。
◎ VFXは西遊記の担当者と同じみたい。 :
高野善政、高橋美香、という名前が。
名前で検索したら、「とにかくスピードが求められる」的な話が。時間優先で作業して、この映像か…。スゲエ。
名前で検索したら、「とにかくスピードが求められる」的な話が。時間優先で作業して、この映像か…。スゲエ。
◎ 全然関係ないけど「ギギギ」。 :
柱に挟まれた中井貴一と子役が、実は「ギギギ」と言ってたりしないかなと思って再度確認したのだけど。やっぱり言ってないな。さすがにそこまでは映像化せんわな。ただ、その前のシーンで、柱を持ち上げようとした時に、木がこすれるSEがやたらと入ってるので、もしかするとスタッフは、「ギギギ」=「木の軋む音」として認識したのかも、などと何ら根拠のない勝手な想像をしてみたり。
[ ツッコむ ]
#7 [anime] 「銀河鉄道物語 永遠への分岐点」をずっと見てるのだけど
夏休みということで、1日1話、月〜金に放映されているらしく。録画して、BGVとして流していたり。
1話完結タイプなので、見ていて気が楽。また、列車がCGで描かれていたり、キャラの顔・体の線が妙に多かったりするあたり、技術の進歩を感じたりもする。
1話完結タイプなので、見ていて気が楽。また、列車がCGで描かれていたり、キャラの顔・体の線が妙に多かったりするあたり、技術の進歩を感じたりもする。
◎ 松本零士ワールドのお約束が気になる。 :
自分が以前書いたことと矛盾するのだけど、宇宙に上下があるっぽいのがどうにも気になってしまう。さすがに空気は無いようだけど。…いや、判ってますけど。松本零士ワールドですから、宇宙に上下はあるし、下手すると空気もあるし、旗だってなびく。松本零士が絡む時点で、大体はそういう世界になってしまう。しかし…。物理法則(でいいのか?)すら都合のいいように捻じ曲げてしまう、そんな作家・スタッフが提示してきたものに対して、見る側は一体何を楽しんだらいいのか。なんだか考え込んでしまう。
物理法則すら捻じ曲げるぐらいだから、ストーリー上の整合性だって軽々と捻じ曲げられるわけで。本編冒頭でシチュエーションが提示された時点で、えてして結末は想像がつくし、キャラクターが登場した時点で、落ち着く人間関係も想像がつく。ここに落とすと決めた結末に向けて、いくらでも都合のいいように流れは改変される。となると、何を楽しめばいいのか。
捻じ曲げ方、なのかなぁ。楽しむとしたら。そういう意味では、松本零士作品は寅さんシリーズに近いのかもしれない。「寅さんがマドンナにふられる」という結末は、まず間違いなく決まってる。結末が判ってるのに、観客は作品を見て楽しんでる。「ふられる」という結末に向けて、どのように捻じ曲げていくのか、そこを観客は楽しんでいるのかもしれない。つまるところ、松本零士作品というものは、往々にして「松本メーターに囲まれてるだけの寅さん」に相違ないのだ。
「松本メーターに囲まれてるだけの寅さん」というフレーズをどうにか書きたくて、ここまで捻じ曲げてみましたが、さて。
物理法則すら捻じ曲げるぐらいだから、ストーリー上の整合性だって軽々と捻じ曲げられるわけで。本編冒頭でシチュエーションが提示された時点で、えてして結末は想像がつくし、キャラクターが登場した時点で、落ち着く人間関係も想像がつく。ここに落とすと決めた結末に向けて、いくらでも都合のいいように流れは改変される。となると、何を楽しめばいいのか。
捻じ曲げ方、なのかなぁ。楽しむとしたら。そういう意味では、松本零士作品は寅さんシリーズに近いのかもしれない。「寅さんがマドンナにふられる」という結末は、まず間違いなく決まってる。結末が判ってるのに、観客は作品を見て楽しんでる。「ふられる」という結末に向けて、どのように捻じ曲げていくのか、そこを観客は楽しんでいるのかもしれない。つまるところ、松本零士作品というものは、往々にして「松本メーターに囲まれてるだけの寅さん」に相違ないのだ。
「松本メーターに囲まれてるだけの寅さん」というフレーズをどうにか書きたくて、ここまで捻じ曲げてみましたが、さて。
◎ 松本零士ワールドはどこで作られているのかが気になる。 :
松本零士が松本零士ワールドを作ってるのだろうか。それとも、アニメスタッフが脚本やコンテを書く段階で松本零士ワールドになってしまうのか。
後者であれば、ちと問題かも。意識的に松本零士ワールドにしてるならいいのだけど、単に無知故に松本零士ワールドになってるとしたら、ちょっとなぁ…。そもそも、意図してやってるとしても、法則を捻じ曲げることで何を得ようとしてるのかが気になったりもする。万が一、読者・視聴者は上下のない空間が理解できない、とでも思われてたらなんだかマズいような気も。幼児が犬を「わんわん」と呼び続けてるから、大人も犬を「わんわん」と呼び続ける必要があるのだ、てのは何かが違うんじゃないか。…飛躍しすぎか。
100人中99人が「わんわん」と呼んでたら、残りの1人も「わんわん」と呼ばないといかんのだろうし。うーん。
後者であれば、ちと問題かも。意識的に松本零士ワールドにしてるならいいのだけど、単に無知故に松本零士ワールドになってるとしたら、ちょっとなぁ…。そもそも、意図してやってるとしても、法則を捻じ曲げることで何を得ようとしてるのかが気になったりもする。万が一、読者・視聴者は上下のない空間が理解できない、とでも思われてたらなんだかマズいような気も。幼児が犬を「わんわん」と呼び続けてるから、大人も犬を「わんわん」と呼び続ける必要があるのだ、てのは何かが違うんじゃないか。…飛躍しすぎか。
100人中99人が「わんわん」と呼んでたら、残りの1人も「わんわん」と呼ばないといかんのだろうし。うーん。
[ ツッコむ ]
2006/08/14(月) [n年前の日記]
#1 [web] _男性差別 - Wikipedia
_女性差別 - Wikipedia
男はつらいよ。
そういえば、ガンダムの世界では女性兵士も当たり前だったりするか。…ガンダムの世界は、徴兵制ではなかったような。いや、ジオン軍は徴兵制だったかしら。よく覚えてない。でも、ゲルググに乗ってる女性兵士とか居たかな。どうだったろう。
男はつらいよ。
そういえば、ガンダムの世界では女性兵士も当たり前だったりするか。…ガンダムの世界は、徴兵制ではなかったような。いや、ジオン軍は徴兵制だったかしら。よく覚えてない。でも、ゲルググに乗ってる女性兵士とか居たかな。どうだったろう。
◎ _wikipediaにおける禁句 :
興味深い話。
[ ツッコむ ]
#2 [zatta] _色んな人が歌ってる君が代
いくつか聞いてみたけど。アレンジ、かなり難しそう。
[ ツッコむ ]
#3 [anime] _「多くの人が宮崎駿のアニメもいつかは終わると思っているだろうが、ご安心下さい、ということです」
鈴木Pは、宮崎吾郎監督を宮崎駿の代用品として見てるのだな。
記事中には「一子相伝」なる言葉が出てるけど。そもそも、宮崎駿は、息子に自分の手法を、手取り足取り伝えてないだろうし。一子相伝なんてものから程遠い状況であろう予感も。それっぽい言葉を持ってきて聞き手をその気にさせる天才、かもしれぬ。>鈴木P。
む。もしかして、鈴木Pの言う「多くの人」ってのは、制作費を出してくれる人たちを指してたりするのかしら。そりゃまあ、そういう人たちに、「宮崎アニメは駿監督が居なくなっても作れますよ」と宣伝したほうがいいか。ジブリ存続のための嘘・方便、なのだろうなぁ。
記事中には「一子相伝」なる言葉が出てるけど。そもそも、宮崎駿は、息子に自分の手法を、手取り足取り伝えてないだろうし。一子相伝なんてものから程遠い状況であろう予感も。それっぽい言葉を持ってきて聞き手をその気にさせる天才、かもしれぬ。>鈴木P。
む。もしかして、鈴木Pの言う「多くの人」ってのは、制作費を出してくれる人たちを指してたりするのかしら。そりゃまあ、そういう人たちに、「宮崎アニメは駿監督が居なくなっても作れますよ」と宣伝したほうがいいか。ジブリ存続のための嘘・方便、なのだろうなぁ。
◎ _だから、“workmanship”“働きがい”は親から子に伝えられることが多いんです。 :
ちょっと関係ありそうな気がしたのでメモ。
[ ツッコむ ]
#4 [zatta] _「右の頬を打たれたら…」の謎 - 利き手の不思議から解き明かされる、「言葉の真意」
手の甲で叩くのと掌で叩くのは意味が違うので、左の頬を差し出すことで相手にジレンマを抱えさせる、という話。コメント欄では、「目には目を 歯に歯を」の解釈についても載っている。
「情けは人のためならず」が誤解されて伝わっている状況と似たようなものかもしれない。てなことを思ったり。
「情けは人のためならず」が誤解されて伝わっている状況と似たようなものかもしれない。てなことを思ったり。
[ ツッコむ ]
#5 [anime] _(ある意味)リアル電D
[ ツッコむ ]
2005/08/14(日) [n年前の日記]
#1 [linux] 自宅サーバにphpをインストール
Vine を使ってるので、apt で。
apt-get install php
◎ _PHP( RPM 版)の導入 - Linux で自宅サーバ :
参考にしつつ作業。/etc/http/conf/httpd.conf の中で関係があるのは下の部分らしい…。引用させてもらうであります。
<IfDefine HAVE_PHP4> LoadModule php4_module modules/libphp4.so </IfDefine> <IfDefine HAVE_PHP4> AddModule mod_php4.c </IfDefine> # The following is for PHP4 (conficts with PHP/FI, below): <IfModule mod_php4.c> AddType application/x-httpd-php .php4 .php3 .phtml .php AddType application/x-httpd-php-source .phps </IfModule>
◎ httpd が起動しない… :
/etc/rc.d/init/httpd restart しても、httpd が動いてない。何かがおかしい…。
もしかして、httpd を停止してからやらないとマズかったのだろうか。
サーバ自体を再起動。…返事が返ってこない。
もしかして、httpd を停止してからやらないとマズかったのだろうか。
サーバ自体を再起動。…返事が返ってこない。
[ ツッコむ ]
#2 [linux] 自宅サーバのHDDがヤバそう
階下の自宅サーバを見にいったら、BIOS起動時にS.M.A.R.Tがどうとか表示されて止まってた。HDDが死にかけてる予感。しかも /home を割り当ててあるHDD。
ということで、 HDDを交換したいと思います。その間、この日記やその他のコンテンツが見れなくなりますが、ご容赦ください。…ってコレ書いてる現在、外部からこの文を閲覧しようもないのだけど。geocities に置いてあるページに書いておかないと…。
ということで、 HDDを交換したいと思います。その間、この日記やその他のコンテンツが見れなくなりますが、ご容赦ください。…ってコレ書いてる現在、外部からこの文を閲覧しようもないのだけど。geocities に置いてあるページに書いておかないと…。
◎ この際だからOSもアップデートしてしまおう :
Vine Linux 2.6r4 → 3.1 に。
◎ とりあえず掃除 :
部屋に持ち込んでケースを開けて掃除。
蜘蛛の巣だらけです。しかもケースの底面には、蜘蛛の糞なのか、虫の残骸なのか、謎の黒い物体が一面に散乱。
蜘蛛の巣だらけです。しかもケースの底面には、蜘蛛の糞なのか、虫の残骸なのか、謎の黒い物体が一面に散乱。
◎ 部屋に置けません :
前々から自室に持ってこようと思ってたのだけど、いざ、予定してた場所に置こうとしたら、ケースが大きすぎて入らない。フルタワーケースはこれだから困る…。ミドルタワーケースを買ってこないとダメか…。
とりあえず、あくまで仮で、パソコンデスクの横にどうにかして置いたけど、ぶっちゃけ邪魔…。本来2/3の大きさで充分なんだよな…。
とりあえず、あくまで仮で、パソコンデスクの横にどうにかして置いたけど、ぶっちゃけ邪魔…。本来2/3の大きさで充分なんだよな…。
◎ 自室にサーバを置くと100BASE-TX SW HUB のポート数が足りなくなる :
4ポートのHUBだけど、
PC-9821 にしろ、K6-200MHz マシンにしろ、ほとんど使ってないからどうにでもなるか。
HUB じゃなくて、LANケーブル切替、みたいな機器はないのかしら。
- 階下のルータから →
- → 妹の部屋
- → 自分のメインPC
- → サーバ
- → PC-9821
PC-9821 にしろ、K6-200MHz マシンにしろ、ほとんど使ってないからどうにでもなるか。
HUB じゃなくて、LANケーブル切替、みたいな機器はないのかしら。
[ ツッコむ ]
#3 [pc] _スイッチングハブの利点
「HUBは多段接続に制限があるもの」と思い込んでたけど、SW HUB(スイッチングハブ)にはその制限はなかったのか。あるのはリピータハブなのだな。であれば、8ポートの SW HUB に買い替える必要もないか。いざとなれば4ポートの安い SW HUB を追加購入すればいい。
つーか今なら8ポートHUBからして安いやん。ヨドバシカメラのサイトを眺めたら、2,000円台からある…。昔、10BASE-T の4ポートリピータハブを4,980円で買ったっけなぁ…。
各商品を眺めていて感じたり。今はもう、1000BASE-T の時代なのだな。
つーか今なら8ポートHUBからして安いやん。ヨドバシカメラのサイトを眺めたら、2,000円台からある…。昔、10BASE-T の4ポートリピータハブを4,980円で買ったっけなぁ…。
各商品を眺めていて感じたり。今はもう、1000BASE-T の時代なのだな。
◎ _@IT : 特集 : 1000BASE-Tへの移行で気になるコストと性能 1000BASE-Tへの移行の是非を考える (1) :
_(2)
_(3)
_(3)
2003年の記事。1000BASE-T HUB が、3万円とか書いてある。今なら…例えばヨドバシカメラのネット通販だと5,000円からあるみたい。もっとも、企業用のソレと家庭用のソレでは信頼性が違うだろうけど。とはいえ大昔の100BASE-TX関連の値段に全体的になってるような感も。安くなったなぁ。
2003年の記事。1000BASE-T HUB が、3万円とか書いてある。今なら…例えばヨドバシカメラのネット通販だと5,000円からあるみたい。もっとも、企業用のソレと家庭用のソレでは信頼性が違うだろうけど。とはいえ大昔の100BASE-TX関連の値段に全体的になってるような感も。安くなったなぁ。
◎ _1000BASE-Tで900Mbps超が出た! - [LAN]All About :
なるほど。条件が揃っていればちゃんと速度は出るらしい。
[ ツッコむ ]
#4 [vine] Vine Linux 2.6r4 を 3.1 に upgrade
2.6.99 にしてから 3.1 にするらしい。
_Vine Linux aptによる 2.x → 3.0へのアップグレード
_Vine Linux 2.6を3.1にapt-get dist-upgradeする
_[vine-users:066774] upgrade to 3.0 from 2.6 by apt <なんだか文字化けしてる…
_[vine-users:066903] Re: upgrade to 3.0 from 2.6 by apt
_[vine-users:066927] Re: upgrade to 3.0 from 2.6 by apt
_Vine Linux 2.6r1 から 3.1 に更新する
_Vine Linux 2.6から3.0へのバージョンアップに伴う設定の変更 - Googleキャッシュ
_Vine Linux 2.6 から 3.X へのアップグレード
参考にさせてもらいつつ作業したり。ありがたや。
_[vine-users:066906] Re: upgrade to 3.0 from 2.6 by apt
_Vine Linux aptによる 2.x → 3.0へのアップグレード
_Vine Linux 2.6を3.1にapt-get dist-upgradeする
_[vine-users:066774] upgrade to 3.0 from 2.6 by apt <なんだか文字化けしてる…
_[vine-users:066903] Re: upgrade to 3.0 from 2.6 by apt
_[vine-users:066927] Re: upgrade to 3.0 from 2.6 by apt
_Vine Linux 2.6r1 から 3.1 に更新する
_Vine Linux 2.6から3.0へのバージョンアップに伴う設定の変更 - Googleキャッシュ
_Vine Linux 2.6 から 3.X へのアップグレード
参考にさせてもらいつつ作業したり。ありがたや。
◎ 「トランザクション処理中にエラーが発生しました」と出て、止まってしまった :
うーむ。
とりあえずログを見て、Error が出てるらしきパッケージを、apt-get --reinstall install hoggehoge で再インストール。なんだか、XOrg-libs がちゃんと入ってなくて、あちこちでErrorが出ていたみたいではある。
とりあえずログを見て、Error が出てるらしきパッケージを、apt-get --reinstall install hoggehoge で再インストール。なんだか、XOrg-libs がちゃんと入ってなくて、あちこちでErrorが出ていたみたいではある。
◎ 必ずdb3がどうとかErrorが出るなぁ :
error: cannot open Installtid index using db3 - そのようなファイルやディレクトリはありません (2) error: cannot open Sigmd5 index using db3 - そのようなファイルやディレクトリはありません (2)だそうで。こりゃ一体なんだ?
_[vine-users:066906] Re: upgrade to 3.0 from 2.6 by apt
aptでupgradeした後で、私もこれが出るようになったのですが、なるほど。出なくなった。ありがたや。
$ rpm --rebuilddb
と、おまじないを唱えたら、直ったような記憶があります。
[ ツッコむ ]
#5 [vine][linux] _@IT:ハードディスクのS.M.A.R.T.情報を表示するには
[ ツッコむ ]
#6 [linux] _ルートファイルシステムをチェックするには
# shutdown -F -r nowメモ。
[ ツッコむ ]
#7 [linux] _teeで操作ログを記録 - ITmediaエンタープライズ : Linux Tips
「tee」なるコマンドをどこかで見かけて気になったり。
[ ツッコむ ]
#8 [vine] 自宅サーバのkernelをアップデート
2.4.22-0vl2.14 → 2.4.27-0vl7.6 に。
kernel-doc、kernel-headers、kernel-source も入れた。
liloに反映させるのを忘れずに。
apt-get install kernelでインストールできるkernelの一覧が表示されるので、その中から選ぶ。
kernel-doc、kernel-headers、kernel-source も入れた。
liloに反映させるのを忘れずに。
vi /etc/lilo.confで修正。
/sbin/liloで、MBRだかに書き込み?
[ ツッコむ ]
#9 [vine] task-xfce をインストール
軽そうなので。
◎ _Xのウィンドウマネージャを変えるには :
Vine Linuxの場合は、setwmコマンドを使用する。オプションなしでsetwmコマンドを実行すると、オプションの一覧が表示される。
◎ 何故かマウスが動かない :
サーバ機に取り付けたマウスが動いてくれない。…中国製の500円ぐらいの有線・ボール式だけど。いつのまにか壊れてしまったんだろうか。
[ ツッコむ ]
2004/08/14(土) [n年前の日記]
#1 [zatta] 日記を読んだ妹から指摘されたデスよ
「お前はツールを使いこなせていない! 言及してる対象が変わってるのに、なぜ別記事にして書かんのだ! だから誤解を招くのだ! 記事を分けられるツールの利点を活かしてないぞ!」と。ガーン。そのとおりであります… orz
◎ オイラの文章は話が飛ぶんですよね :
ある事象をきっかけに、考えを書き始めるんですけど。途中から、より広範囲な対象に向けた内容に、変化していったり。あるいは、そこから連想される、まったく異なることについて言及し始めたり。かと思いきや、いつのまにか元々の事象へと、対象範囲を狭めて言及していたり。…とにかく、話が飛ぶ。読んでるほうはわけがわかんないだろうと想像。書いてるときはOKと思っても、数日経って読むと、あっちこっちに話がピョンピョン飛んでる事に気づく。ガックリでゲスよ。
まあ、その日はそういう風に考えてたという記録 ―― まさに、「日記」なのかも。(;´Д`)
まあ、その日はそういう風に考えてたという記録 ―― まさに、「日記」なのかも。(;´Д`)
[ ツッコむ ]
#2 [hns] ツッコミ機能の本文投稿可能量を増やした
「長過ぎます」と文句を言われてしまった(爆)
◎ 修正箇所 :
lib/Board.pm 中の、$BodyMaxLen を増やした。問題出るかな、出ないかな。
◎ ついでに注意書きを追加 :
投稿しても、日記ページに反映されないときがほとんどで。日記ページのURLの後ろに「?」を追加してるけど、何故か効果なし。IEとNNの完全リロードの方法を、掲示板(=ツッコミ機能)の上部に明記。
◎ ホントは「長い」と文句を言われる時点でマズイ気も :
長文カキコは、それだけで読まれないからなぁ…。
_「ツッコミは短く鋭く愛を込めて」
でしたか。ウチの場合は、日記を書いてる、このオイラからして、守れていないデスヨ… orz
[ ツッコむ ]
#3 [tv] オロナミンC・韓国の王子様に会いにいく編を見て
王子様は、なぜ、必ず、ピアノなんだろう? アニョハセヨー。
◎ 王子様に全然似合わない楽器はなんだろうね :
リコーダー、カスタネット、タンバリン…そのへんか。む? 打楽器系は、あまりウケがよくなさそう。予感がします。
◎ 道に迷った娘さんが :
不思議なしらべを耳にする。あら、何かしら、この音楽は…。なんて不思議で、なんて切ない音楽。まるで胸を締めつけられるよう…。音のするほうへと足を運ぶ。どうやらこの部屋から音がするみたい。そっと覗いてみると、まるでモデルと見紛うばかりの美しい青年が、一人、曲を奏でていた。一心不乱に和太鼓を叩くその姿。ドンドコドコ、ドンドコドン。カカッ、カッ、カッ、カッ。飛び散る汗がキラキラと舞う。頬を赤らめ見入ってしまう娘。…娘の姿に気づいた王子様。バチを振るう、白魚のようなその手を止め、問いかける。「…おや? 道に迷ったのかな? 子猫ちゃん」 嗚呼、浪漫チック… <お前ちょっと病院行ってこい。
◎ 真面目な話 :
フルートやバイオリンは、王子様に似合うな。たぶん。
ギターはどうだろう。フォークギターは結構いいかも。エレキギターは、ちょっと微妙。でも、エレキギターを激しくかき鳴らしてた男が、いきなりピアノを弾き始めると、ヤンキー効果でたちまち王子様に見えてきそうですよ。
オカリナや、ハーモニカも、結構似合うかも。ポケットからこっそり出して吹きはじめたら、「ほほぅ」って感じ。
同じ鍵盤系でも、キーボードは微妙。特に、DTM関係が関わってくると、なんだかビルゲイツみたいな顔立ちが脳裏に浮かびます。<スゲー偏見。
ギターはどうだろう。フォークギターは結構いいかも。エレキギターは、ちょっと微妙。でも、エレキギターを激しくかき鳴らしてた男が、いきなりピアノを弾き始めると、ヤンキー効果でたちまち王子様に見えてきそうですよ。
オカリナや、ハーモニカも、結構似合うかも。ポケットからこっそり出して吹きはじめたら、「ほほぅ」って感じ。
同じ鍵盤系でも、キーボードは微妙。特に、DTM関係が関わってくると、なんだかビルゲイツみたいな顔立ちが脳裏に浮かびます。<スゲー偏見。
[ ツッコむ ]
#4 [anime] 鋼の錬金術師、休みだったのね
ワクワクしてTVをつけたら、個人的にはかなり嫌いなスポーツマンの姿が画面に写ってダメージ大。orz
[ ツッコむ ]
2003/08/14(木) [n年前の日記]
#1 雨
室温20℃。急に寒くなった。
[ ツッコむ ]
#2 停電かと思ったら
各種電気機器の電源が突然落ちたので、停電か、雷かとマジで焦ったら。お袋さんが掃除中にブレーカーのスイッチを引っ掛けて電気が途切れたという…。またやられたら怖いんで、サーバを数時間落としておいたり。
[ ツッコむ ]
#3 [pc] MaxtorのHDDを選んだわけだけど
選択を失敗した可能性が。ネットで関連情報を探して愕然。最近のMaxtorはすぐ壊れるのだそうで。今回購入してきた型番もかなり酷いらしく、熱量が凄い、2ヶ月持たなかった、Smoothなるチップから実際に火を吹いたとか色々怖い話が。HDDにヒートシンクや冷却ファンをつけてるなんて話も見かけ、かなりドキドキ。今までMaxtorの製品を選んで外れた事がなかった、そして5400rpm製品は滅多に見かけないので仕方なく、といった理由でMaxtorの7200rpm製品を選んだのだけど、まさかそこまで悲惨な状況だったとはなぁ。…そこそこの価格でまともな品質のHDDを生産してるメーカは、既にこの地球上には存在しないということだろうか。
とりあえず、PowerMaxとやらでチェックして、amsetで静音モードにして、とかやってみないと…。それと、UDMA133,100,66→UDMA33に切換えるユーティリティを探したけど今現在はそういうものは無いみたい。やはり自動で検出・設定する事になってるのだろうか。
それにしてもどうしよう。メインで使っても大丈夫なHDDなんだろうか。不安。
とりあえず、PowerMaxとやらでチェックして、amsetで静音モードにして、とかやってみないと…。それと、UDMA133,100,66→UDMA33に切換えるユーティリティを探したけど今現在はそういうものは無いみたい。やはり自動で検出・設定する事になってるのだろうか。
それにしてもどうしよう。メインで使っても大丈夫なHDDなんだろうか。不安。
[ ツッコむ ]
#4 [pc][web] フリー写真素材のページを追加
というより、PowerShot A300 のサンプル画像ページというか。A300の画像を置いてるサイトは少ないようなので、多少は存在意義もあるのではないかと予想。そのうちあちこち撮ってきて多少は増やす予定。
◎ リンク修正のついでに孤島発見器でチェックしたら :
ボロボロとエラーが。こんなにマズイ状態になってたのか…。
[ ツッコむ ]
2002/08/14(水) [n年前の日記]
#1 配線
配線見直したらますます遅くなりました。500kbps→300kbps
_≫
助けて…
どういう見直しをしたかは、言えない。
生命にかかわることなので(違
ここんとこ、毎日雷が鳴るんです。
今日のは特にヒドイ。
夜中も鳴ってますよ。電灯が点いたり消えたりしてますよ。
怖いんで、サーバ落としました。
助けて…
どういう見直しをしたかは、言えない。
生命にかかわることなので(違
ここんとこ、毎日雷が鳴るんです。
今日のは特にヒドイ。
夜中も鳴ってますよ。電灯が点いたり消えたりしてますよ。
怖いんで、サーバ落としました。
[ ツッコむ ]
2001/08/14(火) [n年前の日記]
#1 特になし
ムリョウ、面白いなぁ。
[ ツッコむ ]
2000/08/14(月) [n年前の日記]
#1 PS2のDVD再生とタスクバー
妹がPS2を買ってきました。
DVD再生の画面を見せてもらったんですが、予想以上に綺麗。
なんだかPCでDVDを見てるのがバカバカしくなりました。
CPUスペックが、ドライブのDMAが、熱暴走が、などと思考錯誤しながらのDVD再生…
ホント、バカバカしくなります。
Win98のタスクバーにデスクトップ等のツールバーを付加して使用してるのですが。
位置や表示するモノを変更しても、再起動すると元に戻っちゃう。なぜだ!?
半日近く色々調べたところ、レジストリ中の「設定を変更させない」フラグが、何時の間にかONになってた模様。なぜ…?
あやうく再インストールするところでしたよ。トホホ
ついでにデスクトップのアイコンを全て非表示に設定。
タスクバー上の「デスクトップ」ツールバーからアクセスすることにしました。
画面にはタスクバーのみ。とてもすっきり。気持ちいい。
…でもうっかりデスクトップのアイコンを探してしまう。慣れが必要だなぁ。
DVD再生の画面を見せてもらったんですが、予想以上に綺麗。
なんだかPCでDVDを見てるのがバカバカしくなりました。
CPUスペックが、ドライブのDMAが、熱暴走が、などと思考錯誤しながらのDVD再生…
ホント、バカバカしくなります。
Win98のタスクバーにデスクトップ等のツールバーを付加して使用してるのですが。
位置や表示するモノを変更しても、再起動すると元に戻っちゃう。なぜだ!?
半日近く色々調べたところ、レジストリ中の「設定を変更させない」フラグが、何時の間にかONになってた模様。なぜ…?
あやうく再インストールするところでしたよ。トホホ
ついでにデスクトップのアイコンを全て非表示に設定。
タスクバー上の「デスクトップ」ツールバーからアクセスすることにしました。
画面にはタスクバーのみ。とてもすっきり。気持ちいい。
…でもうっかりデスクトップのアイコンを探してしまう。慣れが必要だなぁ。
[ ツッコむ ]
1999/08/14(土) [n年前の日記]
#1 (NoTitle)寝ないで銀行へ。少し...
寝ないで銀行へ。少しでも寝るとヤバイ。
PM0:00頃帰ってきてからバタンキュー。PM9:30起床。
てなわけで明日ビックサイト行きます。雨が心配だけど。大変なことになってるよね。神話は崩れた。<コミケは必ず晴れ、ってやつ。
明日行ってホテルで一泊して16日に帰ってくる予定。
さて。寝なきゃ。
寝れるのかな…。
PM0:00頃帰ってきてからバタンキュー。PM9:30起床。
てなわけで明日ビックサイト行きます。雨が心配だけど。大変なことになってるよね。神話は崩れた。<コミケは必ず晴れ、ってやつ。
明日行ってホテルで一泊して16日に帰ってくる予定。
さて。寝なきゃ。
寝れるのかな…。
[ ツッコむ ]
以上、26 日分です。
プリキュア5のココナッツミルクのような付属マスコットを
交換するって言うような話は
持ち味そのものが変わってしまうので「一風違った」ではすまなくなりそうな…
変えるならここ一連の平成ライダーシリーズや
今話題?のトランスフォーマーのような変え方じゃないと成り立たないんじゃないでしょうかね。
そういう意味では
> 巨大ロボットが
世界遺産だったら
とか
> パイロットが
昆虫だったら
とか
> コンピュータが
天体だったら
とか
> 出てくるモンスターが全部
お笑い芸人だったら
とか
> 仮面ライダーに変身する人が
かぐや姫だった
とか
> ライダーベルトが
「仏の御石の鉢」「蓬莱の玉の枝」「火鼠の皮衣」「竜の首の玉」「燕の子安貝」
とか(笑)
おおお! たった一文なれど、なんだか色々妄想してしまいますな…。
世界遺産のロボットってどんなロボットなんや! から始まって、
ロボットを世界遺産にするってどんな世界なんじゃ! とか、
世界遺産と言うからにはロボットを壊したらいかんのだろうけど
万が一バトルして壊しちゃったらどうなるんや! とか…
夢が広がりんぐ! な一文であります。