mieki256's diary



2023/04/19(水) [n年前の日記]

#1 [cg_tools] 画像拡大ツールをもう少し試用してみた

_昨日、 各種画像拡大ツールを試用してみたけれど、せっかくだから実験結果の画像群をアップロードしてみる。やはり画像を見てみないと判断がつかないだろうし…。

環境は、Windows10 x64 22H2。CPU : AMD Ryzen 5 5600X。RAM : 16GB。GPU : NVIDIA GeForce GXT 1060 6GB。

使用ツールは以下。
_GitHub - Djdefrag/NiceScaler: NiceScaler - image/video deeplearning upscaler (OpenCV)
_GitHub - upscayl/upscayl: Upscayl - Free and Open Source AI Image Upscaler for Linux, MacOS and Windows built with Linux-First philosophy.
_GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI
_samj Creations: GIMP 2.10.32 Portable 32 bits et 64 bits Win
_IrfanView - Official Homepage - One of the Most Popular Viewers Worldwide

元画像について :

まずは元画像。Stable Diffusion web UI と、museV1_v1.safetensors という学習モデルデータを使って生成してみた。512x512の画像。

01_img_orig.png
_00_img_orig.png
parameters

1 asian girl, masterpiece, best quality, photo realistic, realistic, ultra high res, 8k, RAW photo, High detail RAW color photo, professional photograph, smile, looking at viewer, beautiful face, cute eyes, cowboy shot, school uniform, dynamic lighting, dynamic pose,
Negative prompt: painting, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowers, ((monochrome)), ((grayscale)), bad hands, bad arms, missing fingers, missing arms, missing hands, bad anatomy, bas legs, nsfw,
Steps: 40, Sampler: DPM++ SDE Karras, CFG scale: 5, Seed: 2968748192, Face restoration: CodeFormer, Size: 512x512, Model hash: 84a23b651d, Model: museV1_v1


これを、GIMP 2.10.32 を使って、キュービック(Bicubic?)で4/1に縮小。128x128の画像にした。

02_img_quarter_gimp210.png

この128x128の画像を、縦横4倍、512x512の画像に拡大してみる。さて、どうなるか。

結果画像一覧 :

GIMP 2.10.32 + Nearest neighbor で拡大。
03_img_nearest_neighbor_x4_gimp210.png

1x1ドットが4x4ドットに単純に引き延ばされてる。処理の速さだけが取り柄だなと…。


GIMP 2.10.32 + Bilinear で拡大。
04_img_bilinear_x4_gimp210.png

GIMP 2.10.32 + Bicubic で拡大。
05_img_bicubic_x4_gimp210.png

BilinearとBicubicは、あまり変わらない気がする…。本当に GIMP はそのアルゴリズムを使っているのだろうか。 *1 別のツールを使ったほうが良かったのかな…?

何にせよ、AIを使わない、既存の拡大アルゴリズムでは、大体こんな感じのぼやけた結果しか得られない。


NiceScaler 1.13 + ESPCN x4 で拡大。
06_img_espcn_x4_nicescaler.png

NiceScaler 1.13 + FSRCNN x4 で拡大。
07_img_fsrcnn_x4_nicescaler.png

NiceScaler 1.13 + LapSRN x4 で拡大。
08_img_lapsrn_x4_nicescaler.png

NiceScaler 1.13 + EDSR x4 で拡大。
09_img_edsr_x4_nicescaler.png

EDSR は、他のアルゴリズムと比べて、10〜20倍ほど処理時間がかかった。そのせいか、若干精細な結果を出せている気がする。


Upscayl 2.0.1 + RealESRGAN-x4+ で拡大。
10_img_realesrgan-x4plus_x4_upscayl.png

Upscayl 2.0.1 + Remacri x4 で拡大。
11_img_remacri_x4_upscayl.png

Remacri が極めて優秀なのではなかろうか…。


Stable Diffusion web UI + Extras + ESRGAN で拡大。
12_img_esrgan_x4_sdwebui.png

背景部分はどのアルゴリズムよりも精細さがあるけれど、人物の輪郭部分や画像端に謎の二重線が出始めている。自然物を相手にする時は使えるのかもしれない…?


Stable Diffusion web UI + Extras + R-ESRGAN-4x+ で拡大。
13_img_r-esrgan-4xplus_x4_sdwebui.png

Stable Diffusion web UI + Extras + SwinIR_4x で拡大。
14_img_swinir_x4_sdwebui.png

Stable Diffusion web UI + Extras + LDSR で拡大。
15_img_ldsr_x4_sdwebui.png

LDSR は、他のアルゴリズムと比べると、とんでもなく時間がかかった。その代わり、かなり精細な結果をだしてきたように見える。


Stable Diffusion web UI + Extras + R-ESRGAN-4x+ + SwinIR_x4 で拡大。
15_img_r-esrgan-4xplus_swinir_x4_sdwebui.png

Stable Diffusion web UIは、Upscaler を2種類指定することができるので試してみた。しかし、劇的な効果は得られなかった。ただ、選ぶアルゴリズムの組み合わせによっては大化けしそうな気もする…。


Stable Diffusion web UI + Extras + R-ESRGAN-4x+ + SwinIR_x4 + GFPGAN 1.0 + CodeFormer 1.0 で拡大。
16_img_r-esrgan-4xplus_swinir_gfpgan_x4_sdwebui.png

Stable Diffusion web UIは、顔部分を修復できる、GFPGAN、CodeFormer を使うこともできる。顔の部分だけに注目すると、グンと精細さが増している。ただし、顔以外は今までとほとんど違いは無い。


余談。Upscayl + Remacri の結果が優秀だったので、試しに、その結果画像に対して再度 Remacri をかけてみて(元画像から16倍、2048x2048の画像にして)、そこから IrfanView + Lanczos で 4/1 に(512x512の画像に)縮小してみた。
23_img_remacri_x4x4_upscayl_x025lanczos_irfan.png

雑感 :

既存のアルゴリズム、Nearest neighbor、Bilinear、Bicubic はともかくとして、それ以外、AIを使って拡大するツールのアルゴリズムは、どれも比較的良い結果を出しているような気がする。

何せ、元画像が128x128。「それ、只のサムネイル画像じゃん」状態。なのに、それらしい画像を出力できているわけで…。

ざっと眺めた感じでは、Upscayl + Remacri の結果が、群を抜いてそれっぽくなっているように思えた。

以下に、オリジナル画像と Remacri の結果画像を再掲してみるけれど、サムネイル画像モドキからここまで復元できたのだからスゴイ気がする…。

01_img_orig.png
11_img_remacri_x4_upscayl.png

拡大処理前の画像が、コレですからね…。

02_img_quarter_gimp210.png


もっとも、Remacri の結果画像を拡大して眺めると、もはや写真ではなく、完全に絵になっている印象も受けた。例えば、以下は Remacri を2回かけた 2048x2048の画像だけど、ほとんどの部分がぬるっとした見た目になっている。これはもう絵だなと…。

_22_img_remacri_x4x4_upscayl.jpg

画像へのリンク :


*1: 昔のGIMPには、表記されてるアルゴリズム名と違うアルゴリズムを実際には使っていたというバグがあった気がする。

#2 [zatta] 日記をアップロード

2023/03/22から日記をアップロードしてなかったのでアップロード。

2022/04/19(火) [n年前の日記]

#1 [nitijyou] 午前中に地震

午前中に大き目の地震。Kiwi Monitor上では、福島県近辺で大きな予想震度が表示されて、かなり焦った…。

ニュース等では、また同レベルの地震が来るかもしれないとの話なので、気をつけないと…。

#2 [moho] Mohoを触ってる

せっかく Moho Pro 13.5.3 にアップデートしたことだし、操作を思い出すべく、ちょっとだけ触っているところ。

ポイント追加ツールやポイント変形ツールの使い方を完全に忘れている…。制御ハンドルの片方だけを変更するのってどうやるんだっけ…。Alt + ドラッグだったかな…。

0フレームに戻らないとレイヤー構成を変更できないことすら忘れてしまって、おかしいなおかしいなと悩んでしまった。使い方をほとんど忘れてるなあ…。

#3 [anime] どうして14話からなのだろう

思考メモ。

BSフジで放送開始されたTVアニメ「レイトン ミステリー探偵社 カトリーのナゾトキファイル」を録画していたので再生してみたら、いきなり14話から始まったので驚いてしまった。新番組と称していたから、てっきり1話から放送するものとばかり…。

ググった感じでは、既に50話前後制作されて、数年前に完結している古い(?)アニメらしいけど。今回のBSフジでの放送が、『初の全国放送』のはずなのに、何故いきなり14話から始めるのか…。一体どういう事情があったのか…。

まあ、1話完結タイプのアニメっぽいので、その気になれば視聴できそうではあったけど。でも、どうしていきなり14話なの…。

「初放送」を「再放送」と思い込む人達。 :

そういえば、「シュタインズゲート」がBSで『初放送』された時も、プロデューサーが「ただ『再放送』してもつまらないだろ」と言い出してラストを改変しちゃって、見ていたこっちは「なんじゃこりゃ…」になったけど。東京に住んでる人達は認識がおかしい…。東京の地上波で放送されたアニメは、日本全国でも既に放送されたのだと間違って思い込む悪癖(?)があるのではなかろうか…。

そのアニメ、田舎じゃ放送されてませんよ? 日本全国的には未放送のアニメですよ? BSでの『初放送』は『再放送』じゃないですよ? 『初の全国放送』ですよ? 大丈夫ですか? 分かってますか? いやまあ、東京都民的には再放送っぽい感覚になるのは分かるけどさあ…。

TV放送ってそれなりにお金がかかるんじゃないかと想像するのだけど、わざわざお金をかけて一体何をやってるんだろう…。

「あー、BSで『再放送』ですか」じゃなくて「やったぜ! 初の全国放送だぜ!」って思わないと…。北は北海道、南は沖縄まで、日本全国津々浦々の老若男女に、初めてその番組を届けられるせっかくの機会なのに、「あー、再放送かー」なんて思ってたら色々と策を間違えるわなと。そんな認識ではチャンス(?)を活かせるわけがない…。

もっとも…。東京は人の数が多いから、東京=日本と勘違いするのも仕方ないのかな…。自分も東京暮らしをしていた時期があるから、そのへんなんとなく分かる…。どこまで並ぶビル群と、あのたくさん人の群れを毎日目にしていると感覚が狂いますわな…。東京だけが日本の全て、などとうっかり無意識に思えてくるのだろう…。そんな状態だから、「日本全国に向けて放送」できる道具の扱い方だって間違えるのかもしれない…。

もしかすると、関係者のイメージ能力の限界なんだろうか。東京の中をイメージするだけでオーバーフローして、東京の外まではイメージできないのかも…。各人、イメージできるスケールの限界ってありそうだもんな…。所詮人間だし。神様じゃないし。

テレ東アニメは死産。 :

ついでに一応書いておくけど。「テレ東アニメは(日本全国的には)死産」と認識してもらいたいよなと…。

テレ東系列のネットワークって、テレ東含めて6局しかないので。他局みたいに28局ネットワークとかじゃないので。しかもテレ東アニメはBSテレ東では放送されないことが多いので。 *1

だから、テレ東アニメは、地方ではまず見れないわけで。

東京に住んでいる人達は、テレ東にチャンネルさえ合わせば、その場でそのアニメが流れてるものだから、どこでも放送されてるものと思い込むのだろうけど、それはとんでもない勘違いで…。「夏目友人帳」も「弱虫ペダル」も「けものフレンズ1」も、日本全国的には未放送アニメ相当なわけで。 *2 *3 「あの人気アニメが」とか言い出されても知らんがな。見たことないし。地方じゃ放送してねえし。何が「けものはいてものけものはいない」だよ地方民はずっと「のけもの」だよ! みたいな。

そういえばこの間も、いきなり2期からBSテレ東で放送開始したアニメがあったっけ…。他局のアニメと放送時間がぶつかってる上に、途中から見てもなあ、と視聴中止しちゃいましたけど…。 *4

苦労して作ったアニメだろうに、放送時の扱いが酷いよなあ…。それもこれも、東京の人達の、「あー、BSで『再放送』ですか」的勘違いから全てが生じてるのではあるまいか…。

TV自体が終わりなんだろうか。 :

もっとも、昨今のTVアニメは、えてしてどこかしらでネット配信されてたりするものだろうし…。「BS初放送=初の全国放送と捉えなくてもいいんじゃね?」「興味のある人は当の昔にネットで見てるでしょ」てな認識があったりして、だからBSでの初放送を悉く軽視するのかな、とも思えてきたりもして…。

もはや、「アニメはTVで見るもの」と思い込んでるのは、おじさんおばさんお爺さんお婆さんばかり、なのかもしれないのだよな…。

おじさん世代が消えたら、もうTVなんてオワコン扱いになるのかなあ…。邦画が斜陽になったように、TVも後を追うのだろうか。そのうち、「4K8K放送とは何だったのか」「アレは愚行の極みだった」みたいなことも言われちゃうのだろうか…。

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

*1: テレ東アニメはテレ東系の有料チャンネルに回されてそれっきり、なのでしょうな…。
*2: いやまあ、「夏目友人帳」はBSテレ東で「セレクション放送」してたけど、あくまで「セレクション」なので…。
*3: え? TVer? 「テレ東アニメはほとんど流れない」ってどこかで聞きましたけど…。不安になって調べてみたら、噂通り「ううーん…」なラインナップ…。
*4: 1期は黒歴史なのかなと邪推してググってみたら、むしろ評判が良かったそうで、何故評判が良かった1期から流さないのかと…。

2021/04/19(月) [n年前の日記]

#1 [windows] Notepad++にEmmetをインストール

Windows上で動作する Notepad++ というエディタに、Emmetプラグインをインストールしてみた。

動作確認環境は以下。
_emmetio/npp: Emmet plugin for Notepad++

上記ページの、「Download EmmetNPP」のリンクをクリックして、emmet-npp.zip を入手する。バージョンは 1.0.2 らしい。

動作には、Notepad++ のプラグイン、PythonScript が必要になる。Notepad++ を起動して、プラグイン → プラグイン管理。PythonScript を選んでインストール。今回は PythonScript 1.5.4 がインストールされた。

ダウンロードした emmet-npp.zip を解凍すると、以下の2つが出てくる。
EmmetNPP/
EmmetNPP.dll

Notepad++ インストールフォルダ\plugins\ 以下に、EmmetNPPフォルダを移動して、その中に EmmetNPP.dll も移動する。以下のようなファイル構成になる。
EmmetNPP\emmet
EmmetNPP\_PyV8.pyd
EmmetNPP\editor.js
EmmetNPP\EmmetNPP.dll
EmmetNPP\npp_emmet.py
EmmetNPP\PyV8.py

デフォルトでは、Emmet を動作させるショートカットキーとして、Ctrl + Alt + Enter 等が割り当てられているが、そのショートカットキーには、元々「カーソル行の(上|下)に空行を挿入」が割り当てられてしまっているので、このままだと Emmet は動作しない。今回は、Ctrl + E や Ctrl + Shift + E に割り当て直して解決した。
一応、念のために、Notepad++ を再起動。

Emmetの動作確認。 それぞれ展開がされるはず。

2020/04/19() [n年前の日記]

#1 [linux] FreeBSD 12.1 を Core i5-2500機にインストールした

サブPCの Core i5-2500機に、Ubuntu Linux 18.04 LTS を入れて動かしていたのだけど。HDDの最後のほうに FreeBSD 10.2 がインストールされているのが気になって。今は FreeBSD 12.1 が出てるみたいだし、せっかくだから現行版をインストールし直しておこうかなと。

ひとまず、Ubuntu を起動。GParted を使って、今まで FreeBSD 10.2 が入ってたパーティションを削除して空き領域にしておいた。

インストールするOSは、FreeBSD 12.1。以下を参考にしつつ作業。

_2.3. インストール前に行う作業

今回はUSBメモリを使ってインストールした。FreeBSD-12.1-RELEASE-amd64-mini-memstick.img をDLして、 _Win32 Disk Imager を使って8GBのUSBメモリに書き込み。そのUSBメモリで起動して、OSインストール作業をする。インストール中はネット経由で色々DLするので、有線LANケーブルでネットに接続。

以前の日記も参考にしながら作業。パーティションはufsにしてインストール。途中で、disk全体に入れるのか、パーティションに入れるのかを尋ねてくるので、パーティションのほうを選んで Ubuntu とデュアルブートできるようにする。

_mieki256's diary - 元サブPC上のUbuntuとFreeBSDをインストールし直し

grubを設定。 :

FreeBSDインストール後、そのままだと Ubuntu しか起動しないので、Ubuntu側の grub で FreeBSD を起動できるように指定。
sudo vi /etc/grub.d/40_custom

以下の記述を追加。
menuentry "FreeBSD 12.1" {
    insmod ufs2
    set root=(hd0,3)
    kfreebsd /boot/loader
}

grubに反映。
sudo update-grub2

再起動後、grubのメニューの最後に「FreeBSD 12.1」が表示されて、それを選ぶと FreeBSD が起動してくれた。

ネットに繋がらない。 :

ネットに接続できなくて悩んだり。/etc/resolv.conf 内の nameserver指定がおかしかったので修正。
vi /etc/resolv.conf
# nameserver 192.168.x.x
nameserver 127.0.0.1

↓

nameserver 192.168.x.x
# nameserver 127.0.0.1

以下参考ページ。

_FreeBSD をインストールしたらpkgやporstnapを使おうとしてもError Fetchingとなる - Qiita

無線LAN子機を使う。 :

インストール作業や初期設定中は有線LANケーブルで繋いでたけど、普段(?)は、無線LAN子機、ELECOM WDC-150SU2MBK を利用して無線LAN接続したい。以下を参考にして作業。

_【FreeBSD】無線LAN(Wi-Fi)に接続したい - HacoLab
_FreeBSDのWiFiドライバー - Qiita

無線LAN子機の種類を確認。
> sysctl net.wlan.devices
net.wlan.devices: rtwn0

ネットワークI/Fを作成。
> ifconfig wlan0 create wlandev rtwn0 country JP

ネットワークI/Fを起動。確認。
> ifconfig wlan0
> ifconfig wlan0 up

アクセスポイントをスキャン。
> ifconfig wlan0 scan

無線LANルータへの認証用ファイルを作成。
> wpa_passphrase SSID KEY > wpa_supplicant.conf

アクセスポイントに接続。
> wpa_supplicant -B -i wlan0 -c wpa_supplicant.conf
Successfully initialized wpa_supplicant

> ifconfig wlan0

DHCPでIPアドレスを取得。
> dhclient wlan0

接続確認。
> ifconfig wlan0
> ping www.google.com

OS起動時に有効になるように設定していく。
> mv wpa_supplicant.conf /etc/wpa_supplicant.conf
> chown root:wheel /etc/wpa_supplicant.conf
> chmod 640 /etc/wpa_supplicant.conf

/etc/rc.conf に記述を追加。
> vi /etc/rc.conf
wlans_rtwn0="wlan0"  
ifconfig_wlan0="WPA DHCP"  
create_args_wlan0="country JP regdomain ETSI"  

OS再起動。
> shutdown -r now

avahiをインストール。 :

他のPCから、FreeBSDをインストールPCに対して、ホスト名を指定してアクセスできるようにしたい。avahi (mDNS?)とやらをインストールするとできるようになるらしいので試したり。

avahiのインストール。FreeBSD は pkg なるツールを使うとネット経由でバイナリのパッケージをインストールできるっぽい。
pkg install avahi

vi /etc/nsswitch.conf
hosts: files dns
↓
hosts: files mdns dns

service dbus enable
service avahi-daemon enable
service avahi-dnsconfd enable

service dbus start
service avahi-daemon start
service avahi-dnsconfd start

これで、ホスト名.local でアクセスできるようになった。

参考ページ。

_mDNS(avahi)導入 - いるねすのブログ

タイムゾーン変更。 :

sudoをインストール。 :

FreeBSD はデフォルトで sudo が入ってないっぽい。インストールする。
pkg install sudo
which sudo
which visudo

wheelグループに所属してるユーザは sudo が使えるようにする。
visudo
# %wheel ALL=(ALL) NOPASSWD: ALL
↓
%wheel ALL=(ALL) NOPASSWD: ALL
上記は、パスワード無しで sudo が使えてしまう設定なので注意。

任意のユーザをwheelグループに追加
pw groupmod wheel -m USERNAME

_FB:FreeBSDではいきなりsuが使えない - 電子タンク
_メモ: FreeBSDでsuを使うにはユーザをwheelグループに所属させる - 虎塚

vimをインストール。 :

vi を使うのはツライ。せめて vim が欲しい。
pkg install vim

aliasを設定。 :

FreeBSDはデフォルトだと csh を使うらしい。設定ファイルは以下。
vi ~/.cshrc
alias vi vim

雑感。 :

BSDは*NIX系だけど、Linuxとは細かいところで色々違うのだなと…。いやまあ、BSDのほうが本来の*NIXに近いのだろうけど。

デスクトップ用途であれば、Linuxを選んだほうが良さそうな気もする。

2019/04/19(金) [n年前の日記]

#1 [ruby] Ruby 2.5.5 と 2.6.3 をインストール

Windows上で使える Ruby、 _RubyInstaller for Windows の、Ruby 2.5.5-1 が公開されていたようなので、Windows10 x64上でインストールした、とメモ。今までは Ruby 2.5.3 を入れていた。せっかくだから、ついでに、Ruby 2.6.3-1 もインストールした。

ダウンロードしたファイルは以下。 x86、WITH DEVKIT版を使用。

インストール方法は、以下を参考にした。

_Rubyのダウンロードとインストール | Ruby入門 | RubyLife

MSYS2 をインストールする際に、1、2、3 の順番で入力するあたりが参考になった。

ちなみに、異なるバージョンの Ruby を Windows上で切り替えて使う場合は、 _uru_pik が利用できる。

標準で使う Ruby を 2.5.5 にしてみた。 :

今までは、標準で使う Ruby を Ruby 2.2.6 p396 i386-mingw32 にしていたのだけど。試しに、今回インストールした Ruby 2.5.5 p157 i386-mingw32 を使うようにしてみた。

green_shoesが動かない。 :

Ruby 2.2.6 上でインストールしていた gem をアレコレインストールしていたけれど、ふと green_shoes が動かないことに気づいたり。

_ashbb/green_shoes: Green Shoes is one of the colorful Shoes written in pure Ruby.
_green_shoes | RubyGems.org

yaml_as が未定義、みたいなメッセージが出てくるけれど、ググってみたら psych とやらが yaml_as から yaml_tag に定義を変更した、みたいな話が見つかって。

_Ruby 2.2.3 で動いている Rails アプリケーションを Ruby 2.6.2 にアップデートした話 - Qiita
_instance method Module#psych_yaml_as (Ruby 2.6.0)

green_shoes は gtk2 を要求するけど、その gtk2自体は、Ruby 2.5.5 + gtk2 3.3.6 の組み合わせで動いてることを確認。となると、green_shoes に問題があるのは明らかで。

green_shoes は 2013年が最後の更新だから、これもまた、死んでしまった外部ライブラリの一つ、なのだろうなと。

#2 [anime] 「ルパン三世」劇場版第1作を視聴

「ルパン三世」原作者のモンキー・パンチ先生が、2019/04/11にお亡くなりになったとのことで、追悼企画としてTV放送、ということらしい。

今見ても、感心するところがある作品だなと。せっかくの劇場版だから豪華にしたい、という気持ちがチラホラ垣間見える、そんな印象。コンテが凝っていて面白いのだよなあ…。

先生がルパンを描いてくれなかったら、こういうアニメが生まれることもなかったわけで。先生、本当にありがとうございました…。

2018/04/19(木) [n年前の日記]

#1 [nitijyou] 自宅サーバ止めてました

雷が鳴ったので、23:00-23:55の間、自宅サーバ止めてました。申し訳ないです。

#2 [nitijyou] M5Stackはもう売ってないのだろうか

M5Stackという、小さいコンピュータがあるらしいのだけど。

_M5Stackであそぼう | スイッチサイエンス マガジン
_M5Stack Basic - スイッチサイエンス
_M5Stack Gray(9軸IMU搭載) - スイッチサイエンス

「こんな製品があるのか」と知った時には、もう日本国内では在庫無し状態になっていて。残念…。

Linuxが動く、腕時計サイズの小さいコンピュータは無いのかなとググってみたら、2001年頃に存在してた時期があるようで。

_News:Linux搭載の腕時計型コンピュータ「WatchPad」

今はもうスマートウォッチというジャンルになってしまったのだろうけど。スマートウォッチって、自作プログラムを動かせるわけでもなさそうだし…。スペックは向上したのだろうし、実用的なアプリもプリインストールされているだろうけど、自由度は無いよな…。

腕時計サイズや、USBメモリサイズで、自作のプログラムを走らせることができる何かしらが、もっとあればいいのに…。

2017/04/19(水) [n年前の日記]

#1 [gimp][python] GIMPのPython-fuでcairo(pycairo)を使えるか実験

GIMP という、フリーで使える高機能な画像編集ソフトがあるのだけど。この GIMP は、TinyScheme (Script-fu)、もしくは Python (Python-Fu、GIMP-Python) を使ってアレコレ自動化できるスクリプト機能を持っていて。

Python が使えるなら、もしかして Python から cairo (pycairo) を使って色々な描画ができないかなー、と思いついて。ちと試してみようかなと。

cairoを使うメリット。 :

「わざわざ cairo を使って描かなくても、GIMPが持ってる描画機能を呼び出して描けばよくね?」と言われそうな気もするけれど。

しかし、例えば…。
  • スクリプトからGIMPのブラシ描画を使うには、事前に、使いたいブラシファイルを用意しなきゃいけない。
  • GIMPのグラデーション塗りを使うには、事前に、グラデーションパターンを用意しなきゃいけない。
  • スクリプトで前景色や背景色を変更したら、スクリプト終了時にその色が選択された状態になってしまう。
等々、ちと面倒なところがあるわけで。

その点、cairo を使えたら…。
  • ブラシファイルを用意しなくても線が引ける。
  • グラデーションのパターンを用意せずともスクリプト内でいきなり色指定してグラデ塗りができる。
  • GIMP側の前景色や背景色を変更しなくても好きな色で描画できる。
等々のメリットがありそうだなと。cairoを使うことで、プログラムで描画することに関しては自由度が上がるはず。たぶんそのはず。だといいな。

そもそもcairoは入っているのか。 :

そもそも GIMP に cairo(pycairo) は同梱されているのだろうか。Windows10 x64 + GIMP 2.8.20 Portable で確認してみたり。

GIMPを起動して、フィルター → Python-Fu → コンソール。

import cairo と打ち込んでみる。エラーは出なかった。ということは、どうやら pycairo も一緒にインストールされてるっぽいなと。

まあ、ほんのちょっと昔、GIMP 2.6 を使ってた頃は、Python-Fu を使うにあたって Python の他にも _pygtk-all-in-one という、PyGTK、PyCairo、PyGObject が全部入ってるブツをインストールする必要があったので…。

GIMP 2.8 からは、別途 Python や pygtk-all-in-one をインストールしなくても済むようになった、ということは、GIMP 2.8 には Python のコア部分や PyGtk、PyCairo、PyGObject が最初から同梱されてるはず、と予想してたけど、どうやら当たってたようで。

いや待て。本当にそうだろうか…。実はOS側・システム側にインストールされている Python 2.7 + pycairo を使ってたりしないか…。でもまあ、それでも、手元の環境では cairo を import できたのだから、同様の環境にすることは可能なはず、ではあるよな…。

まずは画像やレイヤーを新規作成。 :

Pythonコンソールからチマチマ打って、動作を一つずつ確認していくことにする。

まずは、新規画像の作成と、新規レイヤーの作成を試す。
>>> from gimpfu import *
>>> img = gimp.Image(512, 512, RGB)
>>> layer = gimp.Layer(img, "layer01", 512, 512, RGBA_IMAGE, 100, NORMAL_MODE)
>>> layer.fill(TRANSPARENT_FILL)
>>> img.add_layer(layer, 0) 
>>> gimp.Display(img)
<display>
>>>
GIMPのウインドウ上に画像が表示された。

やってることは…。
  • from gimpfu import * は、Python-Fu を使う時のおまじない。
  • img = gimp.Image(512, 512, RGB) で、512x512、RGBモードで新規画像を作成。
  • layer = gimp.Layer(img, "layer01", 512, 512, RGBA_IMAGE, 100, NORMAL_MODE) で、レイヤーを作成。
  • layer.fill(TRANSPARENT_FILL) で、レイヤー全体を透明色で塗り潰す。
  • img.add_layer(layer, 0) で、画像にレイヤーを追加する。
  • gimp.Display(img) で、画像をGIMPのウインドウに表示。
大体こんな感じ。

cairoで描画してGIMPに渡す。 :

cairoで描画した内容を、GIMPの画像、というかレイヤーに渡してみたい。

そんな処理をしてる事例は少ない、というよりほとんど全く存在していないのだけど、諦めきれずにググっていたら以下のスクリプトに遭遇。Python-Fuスクリプトでありながら cairoを使っている。参考にさせてもらった。ありがたや。

_harmony-gimp-plugin/harmony.py at master - yihuang/harmony-gimp-plugin

cairo のサーフェイスを作成して、サーフェイスからコンテキストを作って、そのコンテキストを使って赤い四角を描画してみる。
>>> import cairo
>>> surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 512, 512)
>>> ctx = cairo.Context(surface)
>>> ctx.set_source_rgb(1.0, 0.0, 0.0)
>>> ctx.rectangle(128, 128, 256, 256)
>>> ctx.fill()

そして、cairo のサーフェイス内容を取り出して、GIMP のレイヤーに描き込む。
>>> src = surface.get_data()
>>> rgn = layer.get_pixel_rgn(0, 0, 512, 512, True, True)
>>> rgn[0:512, 0:512] = str(src)

レイヤーに描き込んだだけでは表示されないので、表示されるように反映させる。
>>> layer.flush()
>>> layer.merge_shadow()
>>> layer.update(0, 0, 512, 512)
>>> pdb.gimp_displays_flush()

一応、GIMP の画像ウインドウ上に、cairoによる描画内容が出てきた。

しかし。赤い四角を描き込んだはずなのに、青い四角が表示されてしまった。何故。

おそらく、cairo のサーフェイスから取り出したデータは BGRAの順になっているのに、GIMP側では RGBAの順でデータを持つから、ではあるまいか…。となると、BGRA の並びのデータを、RGBA の並びのデータに変換しないといけない。

BGRAをRGBAに変換。 :

Ruby を使ってその手の変換処理をした際には unpack() や pack() を使ったけれど。もしかして Python にも unpack() があったりしないかな。

ググってみたら、Python の場合、
struct.unpack(フォーマット文字列, 文字列)
を使うと、unsigned long 等を指定しつつ、文字列から配列に変換できる模様。

_pythonのstructモジュールを触ってみる | KentaKomai Blog
_Pythonでバイナリデータの取り扱い - 猫型エンジニアのブログ

しかし、Ruby のように、unpack("L*") みたいなイイ感じの指定はできないようで。これは4バイトずつ取り出して変換するしかないのかな。

ググってみたら、スライスとやらを使うことで、文字列の中から一部を取り出すことができるっぽい。コレを使ってみよう。

_スライスを使った部分文字列の取得 - 文字列 - Python入門

てなわけで。まずは struct を import してから…。
>>> import struct

こんな感じで、4バイト = 1ドット分を取り出せる、かな。
>>> src = surface.get_data()
>>> i0 = 0
>>> i1 = i0 + 4
>>> bgra = src[i0 : i1]
>>> bgra
'\x00\x00\xff\xff'
>>> bgra = struct.unpack("@L", bgra)
>>> bgra
(4294901760L,)
取り出せたっぽい。

ちなみに、わざわざ struct.unpack("@L", bgra) を使うのは、エンディアンに関係なく ARGB が並んだ4バイトを取り出すため。

cairo 自身は ARGB の並びでデータを保持しているつもりで動いてるけど、リトルエンディアンのCPU(Intel製CPU等)で cairo を動かすと、メモリ上では逆の並びの BGRA で記録される。なので、「そうか! cairo は BGRA の並びでデータを持ってるのだな!」と決めつけて、1バイト単位で取り出して並び替える処理を書いてしまうと、万が一ビッグエンディアンのCPU上でスクリプトを動かした際、おそらくデータは BGRA じゃなくて ARGB で並んでるだろうから、色やアルファチャンネル値がおかしなことになってしまう。はず。たぶん。

でも、struct.unpack("@L", ) を経由させれば…。「"@L"」の指定は、「その環境のネイティブなエンディアンで32bitを取り出せ」という指定なので、ARGB で並んだ 32bit = 4バイトが得られて問題は起きないはず。

さて、ARGB の4バイトが得られたので、RGBA に並べ替える。
>>> a = (bgra[0] >> 24) & 0x0ff
>>> r = (bgra[0] >> 16) & 0x0ff
>>> g = (bgra[0] >> 8) & 0x0ff
>>> b = bgra[0] & 0x0ff
>>> struct.pack('4B', r, g, b, a)
'\xff\x00\x00\xff'
>>>
並び替えができた。元々、BGRA = 0x0000fff だったものが、RGBA = 0xff0000ff になってるし。

これらを踏まえて、BGRA もしくは ARGB で並んでる cairo のサーフェイス内容を RGBA の並びに変換して返す関数、にしてみる。
import struct
def get_rgba_str(bgra_buf):
    rgba_buf = ""
    l = len(bgra_buf)
    for i in range(l / 4):
        i0 = i * 4
        i1 = i0 + 4
        bgra = struct.unpack('@L', src[i0 : i1])[0]
        a = (bgra >> 24) & 0x0ff
        r = (bgra >> 16) & 0x0ff
        g = (bgra >> 8) & 0x0ff
        b = bgra & 0x0ff
        rgba = struct.pack('4B', r, g, b, a)
        rgba_buf += rgba
    return rgba_buf
コレをコピーして、GIMP の pythonコンソールに貼り付ければ、get_rgba_str() という関数が定義されて、以後使えるようになる。

再度cairoで描画して動作確認。 :

レイヤーを追加して。
layer = gimp.Layer(img, "layer03", 512, 512, RGBA_IMAGE, 100, NORMAL_MODE)
layer.fill(TRANSPARENT_FILL)
img.add_layer(layer, 0)

cairoで赤い四角を描いて。
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, 512, 512)
ctx = cairo.Context(surface)
ctx.set_source_rgb(1, 0, 0)
ctx.rectangle(64, 64, 256, 256)
ctx.fill()

GIMP側のレイヤーに反映させる。先ほど定義した get_rgba_str() を使う。
src = surface.get_data()
dst = get_rgba_str(src)
rgn = layer.get_pixel_rgn(0, 0, 512, 512, True, True)
rgn[0:512, 0:512] = str(dst)
layer.flush()
layer.merge_shadow()
layer.update(0, 0, 512, 512)
pdb.gimp_displays_flush()

赤い四角が表示された。(小さくガッツポーズ)

この調子なら、Python-Fu + cairo (pycairo) を使って、GIMP上で何かを描画するスクリプトを書けそう。後は Python-Fuスクリプトの書き方を調べれば…。

2017/04/20追記。 :

環境変数 PATH を修正してシステム側の Python 2.7 を見つけられない状態にしてから、GIMP の Pythonコンソールで import cairo と打ってみた。この状態でもエラーは出なかった。

つまり、少なくとも GIMP Portable には cairo (pycairo) が同梱されている模様。

VMware Player + Ubuntu Linux 6.04 LTS 上でも、GIMP 2.8.16 をインストールして確認してみた。こちらも import cairo でエラーは出なかった。cairo は使える模様。

ただ、Ubuntu上では、get_rgba_str() がエラーを出すようで。struct.unpack() が、
error: unpack requires a string argument of length 8
と文句を言ってくる…。何故。

2016/04/19(火) [n年前の日記]

#1 [comic] 「ゴールデンカムイ」(野田サトル著)、1〜5巻を読んだ

妹が以下略。内容は、日露戦争直後の北海道を舞台に、帰還兵とアイヌ少女が、アイヌの財宝の謎に、という説明で合ってるのだろうか…。

アイヌ文化の紹介部分がとにかく膨大で。よくまあここまで取材したもんだなと感心を。また、猟の仕方、料理等を、かなり精密な絵柄で描いているので説得力が感じられるというか。絵は上手いし、展開は気になるし、みっちり調べてるしで、もう何もかも完璧。世の中には凄い漫画があるんだなと…。

ネームのテンポが独特なあたりが興味深かったり。1つのコマにどの程度の時間の幅を盛り込むか、そのあたりが変わってるというか。また、ヒロインの顔を積極的に、かつ、リアルな方向に崩すあたりも面白いなと。いわゆる変顔を多用してるというか。

2015/04/19() [n年前の日記]

#1 [pc] USB3.0ドライバを更新

Windows7機を再起動するたびにUSB3.0接続外付けHDDが認識されなくなってしまって。OSをシャットダウンして電源投入すれば認識はされるけど不便。USB3.0関係のドライバやファームウェアを更新したら直ってくれないものかと。

ちなみに、OSは Windows7 x64。使ってる M/B は Intel DH67BL。USB3.0用に Renesas uPD720200 が載ってる。firmware 3028。ドライバ 2.1.28.0。ドライバは、以下から入手した版でインストールしてあった。

_インテルダウンロード・センター USB 3.0: Renesas Electronics* USB 3.0 ドライバー

USB3.0_allOS_2.1.28.1_PV.exe をDLして実行すると、解凍直後に自動でセットアップが始まってドライバがインストールされる。

2.1.28.1 とファイル名がついてるのに、何故か 2.1.28.0 しか入らなくておかしいなと思ったけれど、.inf ファイルを確認したら 2.1.28.0 になってた。おそらくそこを見てバージョン表示してるんじゃないかと。記述ミスなのか、中身は 2.1.28.0 のままなのかは不明。

ググってたら以下のページに遭遇。参考にしながら作業。

_DoRaGooN PRoJeCT | Renesas USB3.0コントローラ firmwareの更新作業

ドライバは、 _http://www.station-drivers.com/index.php/downloads/Drivers/Renesas-Nec/USB-3.0/ に Renesas / NEC uPD720200 / 720200a USB3 Controller Drivers Version 2.1.39.0 WHQL というのがあったので、renesas_usb3_2.1.39.0whql(www.station-drivers.com).exe をDLして実行。setup.exe その他が解凍された。

コントロールパネル → プログラムのアンインストールで、Renesas ナンタラカンタラをアンインストールしてから、setup.exe を実行。ドライバが 2.1.39.0 になった。念のために再起動。

ファームウェアは、前述の http://www.station-drivers.com から、renesas_usb3_3.0.3.4(www.station-drivers.com).exe を入手した。実行すると解凍されて、おそらくはファームウェアのバイナリであろう F303408.MEM が中に入ってた。

もしかすると一緒に入ってる F303408FWUP1.exe を実行してファームウェアを更新できるのかもしれないけれど…。試してみたところ、GUIでダイアログが表示されたものの、自分の環境では「対象が見つからない」と言われて先に進まなかった。

巷の解説ページによると、W200FW35.exe というツールでファームウェアを書き換えることができるらしい。uPD720200_uPD720200A_FW_Updater.rar というファイルをググって入手。解凍すると中に W200FW35.exe、cfg.ini、その他が入ってた。W200FW35.exe と同じフォルダに、F303408.MEM をコピー。

コマンドプロンプトを管理者として実行。スタートボタン → 検索欄に「コマンド」と打ち込んで、出てきたアイコンを右クリック → 管理者として実行。

自分の環境は、M/B とは別に、BUFFALO IFC-PCIE2U3 (Renesas uPD720200チップ) も載ってるので、どちらのファームウェアを更新するのか確認しないといけない。
> W200FW35.exe /srom ?

Bus:0x04 Device:0x00 Function:0x00
This Device is uPD720200(Revision 3).
    AT25F512/A/B(ATMEL)  Type : 1, PageSize = 0x80, Chip Erase = 0x62
Bus:0x05 Device:0x00 Function:0x00
This Device is uPD720200(Revision 3).
    MX25L512/2005/4005A/4005C/2006E/4006E(MACRONIX)/Pm25LD512C/010C/020C(Chingis)   Type : 2, PageSize = 0x100, Chip Erase = 0x60
「Bus:0x04 Device:0x00 Function:0x00」と書かれてる部分を把握して、以下を入力。
W200FW35.exe /srom 0 /write F303408.MEM cfg.ini /address 04-00-00
更新されたっぽい。OS再起動。

一応、Windows7 の電源管理設定で、USBサスペンドは無効に。また、USB3.0 Host Controller Utility で、「USB3.0パワーマネージメント機能を無効化する」にチェックは入れておく。

ダメだった。再起動するとやはり外付けHDDを見失う。なんでや。

もしかすると電源供給がアレなのだろうか。ACアダプタで電源供給する、セルフパワーのUSB3.0ハブでも導入すれば改善できたりしないかな。

それとも、外付けHDDについてきたUSB3.0ケーブルがアレなのだろうか。しかし、両端子がAタイプのUSB3.0ケーブルって選択肢が少ないし。

2014/04/19() [n年前の日記]

#1 [ubuntu][linux] rsyncを使おうとしてちょっとハマった

自宅サーバ側はファイル名が euc-jp で、キューブ機(Ubuntu 12.04機)は utf-8。なので、rsync を使ってファイルやディレクトリをコピーする際に、--iconv=eucjp,utf-8 と指定して、ファイル名の文字コード変換をしつつ…。

と思って試してたのだけど。自宅サーバ機側の rsync は古いようで、「--iconv オプションなんて知らねえよ」と文句を言われて。ということは、一旦 eucjp のファイル名でコピーしてから、コピー先の側でファイル名の文字コード変換をするしかないのかなと。

色々ググってたら、convmv なる Perlスクリプトがあると知った。コレを使えばファイル名やディレクトリ名の文字コードが変換できるらしい。
convmv -r -f eucjp -t utf-8 *
convmv --notest -r -f eucjp -t utf-8 *

_clmemo@aka: convmv -- ファイル名の文字コードを変換するスクリプト
_convmvコマンドでファイル名の文字コードを一括で変更する - にたまごほうれん草
_ファイル名の文字コード変換 - convmv - 睡眠不足?!
_EUC環境からUTF-8環境への移行 [AFFRIT Portal]

convmvで変換できず。 :

convmv で日本語のファイル名やディレクトリ名を変換してみたのだけど、一部のファイル名・ディレクトリ名が何故か変換できず、謎の文字列になってしまって困ったり。大半は変換できているように見えるのだけど…。気づいたところでは、「_動物」というディレクトリ名が変換できなかったり。

一旦 Windows機にコピー・ダウンロードして、新サーバ機に転送し直すしかないのかな…。

2013/04/19(金) [n年前の日記]

#1 [pc] Windowsアップデート地獄

久々にAtom搭載ネットブック(Lenovo IdeaPad S10-2)の電源を入れたら、Windowsアップデートのパッチが35個ほど。終わるまで3時間かかった。なんだかな…。

CPU が Atom だから、こんなに遅いのだろうか? CPUさえマシならもうちょっと速いのかなあ…どうなんだろう…。

#2 [pc] DXRubyが遅い

少し気になったので DXRuby を使ったスクリプトをAtom機で動かしてみたのだけど、メインPC上では60FPSで動いてるスクリプトが10FPS前後。話にならない。CPUが遅いうえに、チップセットがアレだから、DirectXがほとんどソフトウェア処理になっているのでは、と想像。たぶん描画処理が足を引っ張っているのでは、と。

ところが、試しにHSPの各種サンプルを動かしてみたところ、まあまあそこそこの速度で動いてしまったわけで。おそらくHSPもDirectXを使ってそうだけど…。となると、単純に Ruby が遅い、ということになるのだろうか? 分からんけど。

Starling を使ったFLASHサンプルも動かしてみたけど、これもHSP程度の速度で動いてるように見えた。

もっとも、HSPも、3D表示のサンプルを動かしたら結構ガクガクで。

何にせよ Atom搭載PCでは、60FPSでゲームを動かすなんて無理なのかもしれない。少なくとも、LLでは厳しいのだろうなと。Cで書いたプログラムを動かせば違うのかもしれないけど。

2012/04/19(木) [n年前の日記]

#1 [android] FlashDevelopでAndroid用のAIRアプリを作ろうとして悩む

一応 .apkファイルが出来たように見えるのだけど、Androidエミュレータに転送する方法が分からず。Device not found と表示される。うーん。

ひとまず分かった範囲の手順をメモ。FlashDevelop 4.0.1 を使用。

  1. 新規プロジェクトを作成。
  2. テンプレート?から AIR Mobile AS3 App を選択。
  3. AIR_Android_readme.txt というファイルがプロジェクトフォルダ内にできているのでそこに書かれた手順に従う。
  4. bat\SetupSDK.bat 内のpathを自分の環境に合わせて修正。
  5. bat\CreateCertificate.bat を実行。cert\ 以下に .p12 ファイルが出来る模様。
  6. F8キーを押してビルド。
  7. F5キーを押して動作確認。PC上でFLASHプレイヤーが起動する。
  8. Androidエミュレータを起動しておく。
  9. bat\InstallAirRuntime.bat を実行するとAIRランタイム?がAndroidエミュレータにインストールされる。
  10. Run.bat を書き換えて goto desktop をコメントアウトして goto android-debug のコメントアウトを外す。
これで Run.bat を実行するとデバイスにインストールされる、のかなと思ったけれど、error: device not found と言われるわけで。うーん。

adb.exe devices と打ち込むとエミュレータが見えているようなのだけど。さてはて。

2011/04/19(火) [n年前の日記]

#1 [pc] メインPCにUSB3.0増設カードを追加

メインPCに、USB3.0増設ボード BUFFALO IFC-PCIE2U3、及び、COREGA CG-HDCEU3000F に付属していたeSATAブラケット?を追加。これで MicroATXケースのスロット部分は全部埋まってしまった。USB3.0とeSATAがあらかじめリアパネルについているM/Bが欲しいところ。

数週間ぶりにメインPCを起動させた。Adobe Flash Player の更新やら、Microsoft Update が25個やら。Windows XP はSP4が必要なのではあるまいか…。それはさておき USB3.0増設ボードのドライバインストールが始められなくてイラつく。

デバイスマネージャ上で問題は出ていないように見えたので、BUFFALO HD-LB2.0TU3 を繋いで HDD-Scan、をかけ始めたと同時にまた地震。何故に、自分がHDDチェックの類をしようとするタイミングで必ず地震が発生しますか。いや、それだけ余震が続いているということなんだろうけど。こんな状態ではメインPCで作業を行うのはまだ厳しい感じ。PCラックとPCケースにガムテープを貼って固定はしているつもりだけど、それでも地震でHDDが揺れてしまう。

2010/04/19(月) [n年前の日記]

#1 [nitijyou] 一日中寝てた

調子悪い。

2009/04/19() [n年前の日記]

#1 [pc] MM3500機にUbuntu、Vine、Debianをインストールし直し

ひょっとすると Vine のインストール時にLVMでパーティションを切ってしまったのがまずかったのだろうか、と思えてきたので、Ubuntu 8.04、Vine 4.2 をインストールし直し。ついでに、Debian 5.0.1 も、DVDの1枚目をDL・DVD-RWに焼いてインストール。

LVMは全然関係なかった模様。やっぱり Vineの反応が遅い。UbuntuとDebianはまあまあそこそこの反応速度。 *1

ひょっとしたらcpuspeedが原因かしら。 :

VIA C3 の時には、cpuspeed サービス ―― CPUクロックを動的に変化させて省電力動作を試みる ―― を動かすとおかしくなるという話があったようで。VIA C7 で改善してる…というわけでもなく、環境によってはフリーズする場面もあったりするのだとか。もしかするとソレだろうか。

そういや、現在の自宅サーバのC7機は、cpuspeed を無効にしてあったのだった。後で MM3500機でも試してみないと…。

Debian のほうはどうなんだろう。というかDebian系でサービスの一覧を確認する方法が判らない。

*1: Ubuntu は Debianを元にしてるはず、ではあるけど標準でインストールした際の構成が違う可能性もあるので…。

2008/04/19() [n年前の日記]

#1 [windows] Safariの新しい版が出てたようで

バージョン 3.1.1 (525.17) にアップデート?してみたけれど、Wikipediaを開こうとすると不正終了する。ヘルプ→インストール済みのプラグインも不正終了。

某匿名掲示板の関連スレを眺めたら、そのあたり問題なく開けている環境がほとんどらしいので、どうもウチの環境に何か原因があるらしい。が、何が関係してるのかさっぱりわからず。常駐ソフトも全部終了させて試してみたし、サービスも極力終了させて試したりしたのだけど…。

日本語を含むURLを開いた際に問題が起きるのでは、と想像したりもするけれど、そのあたり、何かWindowsのDLL等に頼った処理をしている状態だったりするのだろうか。であれば、そのDLLのバージョンを確認する等で、原因追究ができそうではあるけれど。不正終了時のダイアログのアレコレを押していくと、「mlang.dll」なるものが表示されてたりする。名前からして、多言語対応関係かなと想像するのだけど。Googleデスクトップで検索してみたら、C:\WINDOWS\system32\mlang.dll が見つかった。ファイルバージョン 6.0.2900.2530 となってる。

まあ、何にせよ、面倒くさいので使用は諦めることに。

#2 [cg_tools] Pencil 0.4.4b をインストールしてみたり

_Open Tech Press | Pencilで描くソフトウェア・アニメーション という記事を読んでなんだか興味が湧いたので、 _Pencilの公式サイト から、Windows版 0.4.4b をDL・インストールしてみたり。

うーん。たしかにシンプルで判り易いと言えば判り易いのだけど。全部ガリガリ描いたるでー、てな感じで描かないといかんのが個人的にシンドイ。

#3 [iappli] ステージを入れ替え

難易度的にeasyとnormalを入れ替えたほうがいいのでは、ていうか入れ替えろ、的要望が来たのでそのように変更。テーブル作り直し、というか入れ替え。…が、しかし、背景上に載せる障害物の数も含めて入れ替えるのかどうかが不明で。作業的に入れ替えることは可能だけど、それをするとステージ選択時に表示される情報に対して、さらに上位層から「どうしてeasyのほうが難しそうなんだ。不自然だ」と言われそうな予感。ステージを入れ替えるべし的要望を出してきた方は、そこまで考えずに要望を出してる予感も。ということで、障害物の数は今まで通りで、結果を決めるアタリ種類だけを入れ替えるに留めた。これで提出してみて、障害物の数についてはどうするかを別途打診したほうがヨサゲかなと予想。

来週からバグチェックが始まるらしい。たぶん、また忙しくなるなあ…。

2007/04/19(木) [n年前の日記]

#1 [iappli] JoGaが動作しなくなってた

実機用バイナリを作成するためのバッチファイル等を修正してたのだけど。最適化ツールのJoGaが動作しなくなってた。Java 1.6 を入れちゃったせいかもしれず…。

検索したところ、classpath なるものを指定すれば、異なるバージョンの Java で動かすことができるっぽいと知る。
C:\usr\local\java\jdk1.5.0_11\bin\java -classpath .;C:\usr\local\java\jdk1.5.0_11\lib\tools.jar -jar joga.jar %HOGEWORKBASEDIR%\compress\fuga.jar

#2 [pc] hogeって何?

なんかその手のアレを書く際には hoge を使う人が多いみたいなのでなんとなく使ってるけど。何かちゃんとしたルールがあったりするのだろうか。ていうか。hoge の他には何を使えばいいのかよく判らない。

_hogeとは - はてなダイアリー :

_メタ構文変数 - Wikipedia
_A page of HOGE - ほげを考えるページ

日本語圏で使用されるメタ構文変数として「hoge(ほげ)」「piyo(ぴよ)」「fuga(ふが)」「hogera(ほげら)」「hogehoge(ほげほげ)」などがある。また、英語圏由来の「foo」「bar」「baz」「qux」「quux」「foobar」もよく使われる。

メタ構文変数 - Wikipedia より

なるほど、このへんを使っておけばいいのか。

#3 [iappli][eclipse][svn] Subversion の作業をメモ

_URLクリップ した日記から辿りながら作業。…むぅ。これはメモしておかないと、また忘れる予感。

  1. リポジトリ用ディレクトリ作成。エクスプローラで、C:\home\repos\ 内に SvnTest01 というフォルダを作成。
  2. リポジトリ初期化。TortoiseSVNを使った。エクスプローラで、C:\home\repos\SvnTest01 フォルダを右クリック→TortoiseSVN→ここにリポジトリを作成。
  3. Native filesystem (FSFS) を選択。リポジトリ作成終了。
  4. eclipse起動。
  5. パースペクティブを、SVNリポジトリー・エクスプローラーに切り替え。…なんかエラーが出た。再起動したらなんとかなった。ウインドウ→ビューの表示→SVNリポジトリ、を選ぶ必要があったりするときもあるっぽい。
  6. SVNリポジトリのビューの中に目的のフォルダがある場合はアレだけど、無い場合は、何も無いところで右クリック→新規→リポジトリー・ロケーション、を。file:///C:/home/repos/SvnTest01 を指定。
  7. file:///C:/home/repos/SvnTest01 を選択して右クリック→リモート・フォルダ新規作成。trunk を作成。同様に、branches、tags を作成。表示されないときがあるから、右クリック→更新。
  8. Javaパースペクティブに切り換える。
  9. パッケージ・エクスプローラー上で、目的のプロジェクトフォルダを選択。右クリック→チーム→プロジェクトの共用。
  10. リポジトリータイプで SVN を選択。次へ。
  11. 既存のリポジトリー・ロケーションを使用。file:///C:/home/repos/SvnTest01 を選択。次へ。
  12. 指定したフォルダ名を使用、を選択。参照ボタンを押す。branches、tags、trunk が見える。turnk を選択。OK。trunk/New Folder という文字列が入る。trunk/SvnTest01 に書き換え。次へ。
  13. コミット・コメントの編集。終了。
  14. ファイルの一覧が出てくるので、コミットするファイルを選択してOK。一度に大量にコミットするとなんだかエラーが出たりするので一番最初は少しだけ。
  15. パッケージ・エクスプローラー上で、目的のプロジェクトフォルダを選択。右クリック→チーム→コミット、でコミットが出来る。あるいは、TortoiseSVN でコミット。エクスプローラ上で SvnTest01 を右クリック→コミット。

ブランチ・タグの作り方をメモ。 :

ブランチの場合。
  1. eclipse起動。
  2. パースペクティブを、SVNリポジトリー・エクスプローラーに切り替え。
  3. file:///C:/home/repos/SvnTest01/trunk を右クリック→ブランチ/タグを選択。
  4. コピー元のURL、が、file:///C:/home/repos/SvnTest01/trunk 。
  5. コピー先のURL、を、参照ボタンを押して、file:///C:/home/repos/SvnTest01/branches を選択→OK。
  6. 入力欄に file:///C:/home/repos/SvnTest01/branches が入ったら、最後に /0.0.1.x 等を打つ。
  7. コピー元のURL、が、file:///C:/home/repos/SvnTest01/branches/0.0.1.x に。
  8. ブランチ/タグコメントを編集して、OK。

タグの場合。
  1. file:///C:/home/repos/SvnTest01/branches/0.0.1.x を右クリック。ブランチ/タグを選択。
  2. コピー元のURL、が、file:///C:/home/repos/SvnTest01/branches/0.0.1.x 。
  3. コピー先のURL、を、file:///C:/home/repos/SvnTest01/tags/0.0.1 に。
  4. ブランチ/タグコメントを編集して、OK。

#4 [iappli] hsに実行バイナリを送った

表示関係の仕様も全部入ってないし、配牌は変だし、CPUは全力で上がろうとするし、実機で動作確認中にバグを見つけたりもしたけど、一応アプリとしてタイトルまで戻ってくるようになったので、一旦送ってみたり。「どこまでできてるんだ?」等クライアントに責められたときは見せられるかなと…。見せないほうがいいか。かえって、「まだココまでしかできとらんのか」と言われる可能性もあったりするのかもしれない。

バイナリ送信後、残ってる作業をリストアップ。eclipse に、Mylar なる、タスク管理・バグトラッキングシステムとの連動ができるpluginを入れたばかりなので、それを使ってやってみようかと。

2006/04/19(水) [n年前の日記]

#1 [web] _ウィニー:対策ソフト、産官学チームで開発へ 政府が決定

どういう話なんだ。Winny作者が参加して改良版Winnyでも作るのか。というわけではなさそうだが…。 _(via クロノス・クラウン)

#2 [anime] 井上敏樹グッズが発売されるらしい

自ら平成ライダー公式サイトのcss(たぶん)まで弄っちゃう(っぽい) _白倉Pのblog 経由で、 _ジーハミング という会社から、 _井上敏樹公式オリジナルグッズ が発売されるらしいことを知る。

って、ちょっと待て。

井上敏樹氏は、たしかに男が惚れてしまうほどの数々のエピソードを持っている(らしい)うえに、これまた男のハートを鷲掴みにする数々の台詞を生み出してきた人物、ではあるけれど。一応、アニメ・特撮の脚本家さんなわけですよ。アイドルでもなければ、役者さんでもない。脚本家さんですよ。脚本家さんのグッズを発売するって、あなた…。担当者は一体何を考えているのだ。頭のネジをどんな風に外したらそんな考えが出てくるのだ。まったくもう…素晴らしい企画ではないか!

いやはや面白いことを考える人が居るもんだなと。たしかに井上氏以外では商品として成立しにくい感も。…個人的には、「俺に惚れろ!」Tシャツとかあったら、ちょっと気になっちゃうかもしれぬ。胸 or 背中に書かれた殴り書きの「俺に惚れろ!」。道行く人々の熱い視線を集めまくり。嘘。ていうか「俺に惚れろ!」は古すぎるわな…。すると「鯖じゃねえ!」あたりなら…。それも古いな…。いや、しかし、Tシャツにそんなもんが書いてあったら…。などとバカな妄想が浮かんでしまうあたり、結構イケそうな予感が。…や、コアな層にしかウケない予感もあるんだけど。

ていうか掲示板眺めてたら「鯖じゃねえ!」があるらしい。…マジかよ! 皆、頭がどうかしてる!<褒めてます。

#3 [jiji] 日本が竹島近辺の海域・海底を調査する、というニュースがNHKで流れてたんだけど

韓国が反発してるらしい。武力行使も辞さないとかなんとか。

日本が勝手にやるのが腹立たしいなら、日韓共同で調査すりゃいいんじゃねえべかと思ったのだが。科学者・学術者・技術者にとっては、国がどうこうなんてくだらない話より、海域・海底がどうなってるか把握するほうがよほど重要なのであろうし。共同でやればスイスイとデータが取れるなら、それで問題ない気もするが。それとも単に、政治的・対外的なポージングなんでせうか。>日本の海域調査。…政治のアレコレに、科学とか技術とかを利用してほしくないな。そっちのほうが、なんだか腹立たしい。科学・技術を何だと思ってるのだ。愛国主義者連中を気持ちよくするために存在してるわけじゃないぞ。…とはいえ、国と言うのはスポンサーみたいなもんだから、言うことを聞かざるをえないところもあるのかしら。面倒ナリ。

とか思ってたら。別のチャンネル・番組で、海底の名称云々で韓国が動きそうだから、という経緯で出てきた話と解説されてた。…やっぱり外交の話か。共同云々は無理だな。それ以前に、学術的調査の必要性すらなさげな話かもしれん。ゲンナリ。

#4 [nitijyou] ヤフオクの使い方について調べてたり

とりあえずヤフオクお試し版とやらを試してみたり。なるほど、こんな感じなのか…。

今なら、お店から出品されてるものは、無料で入札できるらしいけど。プレミアム会員とやらにならんと個人が出品してるものには入札できないらしい。プレミアム会員になるためには、Yahoo wallet とやらを登録…するためにはネット銀行で引き落とし登録を…と、その前にカード申し込まなきゃ入金もできんわけで…。

ひとまず、ヤフオクにログインできるように登録。あと、ネット銀行でカード申し込みと引き落としの登録。…カード自体は届くまで3週間ぐらいかかるらしい。引き落としもYahooからのメール待ち。…入札できるのはいつになるんだろう。

ていうか、iアプリの実機動作検証がしたくて、N505i入手のためにそのへん調べてるのだけど。現行機種の N506iS、N506iSII じゃダメなのだろうか。でも、ヒープサイズが N505i と N506iS で違うし…。そこが微妙に違うということは、何か改良されてしまってる可能性も…。検索してもiアプリ動作に関する違いについては情報を見かけないし。DoCoMo のサイトでは機種別情報が詳しく載ってるわけでなし。うーん。

#5 [iappli] _iアプリベンチ

ベンチマーク結果が。ありがたや。眺めた感じでは、やっぱり差があるっぽい…。該当部分だけ引用。
機種名(数)グラフィックイメージ3DグラフィックスCPUスクラッチパッド
文字列矩形ポリゴン円弧ノーマル反転拡縮半透明プリミティブモデル速度読込書込
N505i(9)5171666125141411422064360717768なし17587201731294821132527
N505iS(25)496232653123649351786407017588なし13146144221248718962310
N506i(7)961901273718756982543941557123811547118219637752818
N506iS(8)972871114078626982584011527123611550118169541755825
数値は任意の処理を行った時の時間(ミリ秒)で、小さい方が高速であることを示します。

iアプリベンチ より

#6 [anime] NANA、3話

かなり面白い。のだけど…。野球中継延長のせいで、放映時間が固定しない。…視聴停止しようかな。放映時間を追いかけ続けるのはシンドイし。

#7 [anime] BJ21、BJがブタ箱に入る回と父親に会う回

最後のあたりの銃撃シーンの唐突さがなかなか。シナリオ・コンテが手塚監督なのか。ふむ…。

父親に会う回。ヒキがなかなか。連続モノならこうでなきゃ。シナリオは隅沢氏。さすがに慣れてる、のかな。

NGシーンがなくなった。その代わり、写楽がどこかに隠れてる、らしい。新たに作画を行うことなく、本編の作画と同時に仕掛けを入れるあたり、比較的名案な部類のように思えたり。あとはどの程度暴走脱線できるかで、笑いがとれるかとれないかが違ってきそうな予感。

#8 [anime] ケロロ軍曹、やる気なしの回

Aパートが終わった時点で、「全員ダラけて倒れたままのカット1つと、声優さんのダラダラした喋りだけで、Bパートを全部作ったら新しい伝説がまた一つ」てなことを思ったけど、さすがにそれはなかった。ていうかあるわけないよな…。

忍者くんが巨大レバーの上に全身で乗ってドアを開けるカット。忍者くんのガニマタの開き方と手の力の抜き方の動きにちょっとシビレタ。該当カットの直前に迫力のあるジャンプがあるあたり、この感覚はタイムボカンシリーズの「ポチッとな」あたりに近い気も。

ラスボスを見て笑った。台詞もアレだし、見た目もアレだし、たぶん声優さんもアレ。やりすぎ感が素晴らしい。

この記事へのツッコミ

Re: ケロロ軍曹、やる気なしの回 by otsune    2006/04/24 03:53
どうやらケロッとマーチエネルギーの声優は榎本温子という人らしいです。
しまった、なのであります! by mieki256    2006/04/25 03:12
> ケロッとマーチエネルギーの声優は榎本温子

ガーン。そうだったのか…!!
ボソボソとした喋り方で、てっきり本物かと思い込んでしまいました。
なんたる失態…!

…自分が、いかに声優さんに興味無しか、
スタッフロール等をしっかりチェックしてないか、
ということの実証事例でありますな…

そういや自分、昔、セーラームーンの声が変わったときも
気がつかなかったっけ…トホー

#9 [anime] プリキュア、釣り船屋さんレポートの回と、オス携帯とケンカの回

黄色の人の幼馴染の少年、と、その両親の描写がイイ感じ。少年のテレてる感じがなかなかそれっぽい。…子供向けとしてはグッドな脚本、だよな。働くおじさん的アプローチでありながらも、笑いアリ、戦闘アリで。本編中で、「海の男ってのはお客さんの安全を第一に考えるものだ」みたいな台詞があったけど。それと似たようなプロ意識を、この作品からは感じる瞬間があるなと。や、作り手がそういう気持ちで作ってるかどうかはしらんけど。

オス携帯とケンカする回。ピアノのみのムードたっぷりの音楽に、黄色の人の優しい台詞。しかし、手前を横切る巨大注射器。笑った。「何、その反応」もグー。これはコンテが上手いのだろうか。それにしても、ここぞとばかりにUMAのプリティぶりを強調しやがって…。UMAのくせに…可愛いじゃねえか…。さておき。戦闘シーンで語りが始まってアレアレと思ったら、羽原脚本だった。それらの語りが引き出せる程度には話を組み立ててあるのだけど、それでも唐突な印象を受けてしまうのは何故だろう。うーん。まあ、そこらへん子供さんは気にしないだろうから別にどうでもいいことだよな。

#10 [anime] アストロ球団、1話、2話、3話

なんで古田が…。沢村栄治の魂って…。素晴らしい。こりゃ変だ。と最初は喜んでたのだけど。だんだん寒くなってきた。すきま風を感じる。ちょっと期待しすぎてたかもしれん。

デカレンジャーの青の人が主役だったのか。知らなかった。

野球選手の体のガッチリさがまったく感じられなくて、なんだか寂しさを感じる絵に。キャスティングの問題なのか、撮り方の問題なのか。そのへんよく判らず。

ワイヤーで吊ってます、な感じをそのまま出しちゃうとは…。こだわりがないのか、気持ちはあるけど知識・技術がないのか、意図的にトホホ感を出してるのか、それとも単に金と時間の問題か。ていうか、事前にフィルム映像中でネタを見せてしまうあたり、首を捻ったりもして。そこは、投手の人の鬼気迫る「なにい!」で終わらせて視聴者に期待させるのがセオリーでは…。投手の人のバックで、「吊ってます」のモッサリ映像を何度も流すあたり、杜撰さを感じたり。…原作に忠実に作るとそうなるのかしら。

画もアレだけど、どうやら構成・脚本・演出にも難があるような。台詞にしろシチュエーションにしろ記号としての力はあるんだけど。時間をかけて見せる方向でリアリティを求めてしまったら粗が見えるものばかり。だとしても、スピード感で圧倒するなり手はありそう。なのだけど。なんかベタッと見せてるだけで。や、時短再生で見てたけど、それでも「タルいな…」と感じてしまったのでそう思ったりするわけですが。…まあ、誰が演出するかでガラリと変わるかもしれんので、まだ判らない。調子がつかめてないだけかもしれんし。

3話。食堂の、昔の漫画雑誌・ラジオ、野球盤に感心。妙なところで力を入れてるな…。

ヘリコプターと千葉真一の組み合わせに驚いた。やっぱりこれは変な作品だわ。ひょっとして、1,2話は内容紹介みたいなものだからアレだったのかな。たしか1時間の作品を2話に分けて流してるとどこかで聞いたし。本格的なアニマル(?)ぶりはこれから、かしら。

1〜3話は、演出、今井和久氏。検索してみたけど、演出の特徴について語ってる記事は見当たらず。結構色々な作品をやってる方らしいのだけど。こういうのは苦手なのかもしれん。

関連記事を検索してたら、庵野監督が脚本を読んで「テンポがいい」と発言してたらしいことを知る。…もしかして皮肉だったのかな。あるいは、やはり演出に難アリということか。庵野監督の脳内では、もうちょっとテンポの良いコンテが浮かんでしまった、とか。それと、やはり低予算らしい。なら、画がアレなのは仕方ないわな…。

そもそも原作未見の自分なのでたぶん頓珍漢な感想書いてる可能性大。原作読んだ人なら、映像化できただけで感涙モノなのかもしれんし。

2005/04/19(火) [n年前の日記]

#1 [windows] _IconCache.dbについて

_アイコンの表示がいつもと違う

ここ最近、WinXP利用時に、各種アイコンが正常表示されなくて。 といった具合。いつ頃からおかしくなったのか、判らないんだけど。

元々の画像データが壊れてるのかと思ったけど、そういうわけでもないような。例えば、ログイン画面時は、一度、終了を選択 → キャンセルを選択、としてみると、各種アイコンがちゃんと表示されるので、おそらく画像データファイル自体は壊れてないし、存在もしてるのだろうと。しかし、その状態でパスワード入力欄に文字を打ち込むと、終了アイコンは消えるわ、入力欄の枠が壊れるわで…。

検索してみたら、件の情報に辿りついた。もしかすると、IconCache.db が壊れてるのだろうか。
 %USERPROFILE%\LocalSettings\ApplicationData
中の、IconCache.db を削除して再起動。

これじゃなかったみたい。相変わらずおかしい。何だろうなぁ。

#2 [windows] デフラグで四苦八苦

coLinux の root.img(3.6GBほど)が、WinXP標準のデフラグツールで最適化しても断片化されたまま。他のドライブに一旦移動して、最適化して、その後元の場所に移動しても、やはり断片化されたまま。どうも、空き領域の最適化がされてないような気がする。一度ファイルをそこに書き込んでしまうと、ある種の境界が作られてしまうような予感。

_Vopt XP - デフラグツール :

体験版(30日間利用可能)があったので、インストールしてみた。

爆速。なんですか、この速さは。不安になってくるぐらい、速い。こりゃ凄いな…。

と思ったんだけど、数回デフラグしてるうちに、同じ箇所を延々と移動し始めた。怪しい。なんだか無限ループに陥ってる気がする。STOPを押して終了。

Vopt XP と WinXP 標準のデフラグを交互に繰り返していたら root.img も断片化されなくなった :

やはり空き領域が最適化されてなかったみたい>WinXP標準のデフラグ。そのへん Vopt XP が多少頑張ってくれたんだろうと想像。

#3 [jiji] 中国も韓国も変わらんと思うけど

NHKのローカルなTVニュースを見ていたら、たしか青森あたりの、中学だか高校だかの修学旅行の話題が流れた。毎年、中国を修学旅行先にしていたけど。今年はなんだか情勢が怪しいということで…韓国か沖縄に変更することを検討してるとか。

韓国に変更って、馬鹿じゃないのか…。韓国のほうがもっとヤバイじゃないか。 *1

あと数百年はこんな感じが続くのかしら :

欧州あたりを鑑みると、各国間がそれなりに冷めた感じになるまで、どうも数百年かかってるみたいだし。日中韓も、こんな状態が、あと数百年は続くのかしらと。ゲンナリ。まあ、爺さんたちの振舞いのおかげで、子孫につけが回ってきたということで、仕方ないのか…。

せめて、自分達の世代は、遺恨を残さないような振舞いをしたいところだけど…。なんか既に、中国だの韓国だののデモと同レベルというか、民度の低いバカな振舞いをしてる日本人も居るようで、ゲンナリ。まあ、そもそも、小泉総理が靖国参拝してる時点でアレではあるのか…。せめて、総理大臣ぐらいは、「外国からそれら行動がどう見えるのか」を意識した行動ができないとアレじゃないのかと思うんだけど。わざわざ自ら、自国を不利にする・文句を言われる材料を、せっせと提供する国のトップってなんだかな…。太平洋戦争の時の日本の振舞いから、何も学んでないんだろうなぁ…。

*1: 韓国人が、日本の学生さんの目の前で、指を切り落としたり、焼身自殺を始めたらどうするねん。ってそれは冗談…とは言い切れないのか。うーん。

2004/04/19(月) [n年前の日記]

#1 [linux] バーチャルホストについて勉強中

W32.HLLW.Gaobot.gen からの攻撃(?)をログに残さない設定にするために勉強中。固定IPじゃなきゃ使えない機能なのかと思ったけどそういうわけでもないらしい。

_バーチャルホストによる複数サイトの同時運用
_バーチャルホストの設定
_Re: 不正と思われるアクセス内容について < SetEnvIf でログ振り分けができると書いてある。
_Webサーバログについて < SetEnvIf では対策できないと書いてある。
どっちが正しいのやら。

_SetEnvIf ではログ振り分けできない らしい。やっぱり _バーチャルホスト設定を使う方法 になるのか。消えると困るので引用。
NameVirtualHost *:80
<VirtualHost *:80>
  ServerName dummy
  DocumentRoot /path/to/dummy/dir   # 存在するが空のディレクトリ
  CustomLog /dev/null ""            # アクセスログを捨てる
  ErrorLog /dev/null                # エラーログも捨てる
</VirtualHost>

<VirtualHost *:80>
  ServerName 本来サービスしたいホスト名
    :
</VirtualHost>
以下も関連ページ、だろうか。
_Re: 414 Request-URI Too Long時のSetEnvIfの扱い

_ココ を見たら、
 SetEnvIf Request_Method "(GET)|(POST)|(PUT)|(DELETE)" log
 とすればSEARCH /\x90\は記録されません。

 手っ取り早くていいけど規定以外のを記録するやり方だから、切り分けが難しい。
 SetEnvIf Request_URIで、CordRedやNimda
 SetEnvIf Request_Addrで、ローカルを弾きつつ
 SEARCH /\x90\を弾く方法ないでしょうかねぇ。
とあった。メモ。

_ココ を見たら、
パイプ経由のロギングを利用するのはどうよ?
CustomLog "|/root/sh/logfilter >> /var/log/httpd/access_log" combined env=!nolog
とでもして、/root/sh/logfilterスクリプト内で
"SEARCH /\x90\x02\…"は弾くようにするとか。
あるいは、「異常なログを隔離する」ではなく、
CustomLog /dev/null common
CustomLog /path/to/access_log combined env=REMOTE_ADDR
のように、環境変数が正常にセットされているもののみ隔離するという方法でも
できそうだが、これはうまくいくかどうかは試していない。
<VirtualHost>でhost名を知らないアクセス=ワームを分離する方法ですが、
これだとローカルからのIP直打ちアクセスも分離されてしまうんじゃないでしょうか。
わざわざ串を刺すのはちょっと…。

 IP 直打ちでも Host: にその IP アドレスが入るので、
 プライベートアドレスを ServerAlias に指定すればよし。

NameVirtualHost *
<VirtualHost *>
ServerName dummy.host
CustomLog [隔離ログ]
...
</VirtualHost>
<VirtualHost *>
ServerName xxx.yyy.zzz
ServerAlias localhost 127.0.0.1 192.168.0.1 ...
CustomLog [ほんとのログ]
...
</VirtualHost>

このように設定すれば、Host: がないか、
あってもグローバルの IP アドレスの場合は dummy.host の設定が使われる。
とあった。メモ。

_SEARCHメソッドの不正ログ対策
このアクセスログに記録しないようにするには、
httpd.conf 等に以下のように設定してください。
「HTTPのステータスコードが414ではない時に記録する」という設定です。
詳しくは
_apche のマニュアル
をご覧ください。

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
 ↓
LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
こんな方法もあるのか。メモ。

とりあえず :

バーチャルホスト設定とやらをしてみた。
NameVirtualHost *:80

<VirtualHost *:80>
    ServerName dummy.host
    DocumentRoot /home/httpd/dummy
    ErrorLog /var/log/httpd/worm_error_log
    TransferLog /var/log/httpd/worm_access_log
</VirtualHost>

<VirtualHost *:80>
    ServerName ホスト名
    ServerAlias localhost 127.0.0.1 192.168.0.*
    DocumentRoot /home/httpd/html
</VirtualHost>

<VirtualHost *:80>
    ServerName LAN内での名前
    ServerAlias localhost 127.0.0.1 192.168.0.*
    DocumentRoot /home/httpd/html
</VirtualHost>
こんな感じでどうか。2004/04/19 23:00 に httpサーバをリスタート。それ以降ログが振り分けられていればOK、かな。

うむ。振り分けられてるみたい。それにしても、どうして plala からしかこないんだろう。

W32.HLLW.Gaobot.gen の攻撃以外のアクセスも振り分けられてるみたいだ。HTTP/1.1 とやらが残ってるから、古いブラウザからのアクセスではなさそうだけど。これはいわゆる踏み台探しとやらのアクセスなんだろうか。うーむ。

この記事へのツッコミ

Re: バーチャルホストについて勉強中 by Harry    2004/05/04 00:57
同じ問題を試行錯誤していた所です。これ以上はないくらい参考になりました。
本当に感謝感激です。
Re: バーチャルホストについて勉強中 by mieki256    2004/05/05 04:26
いや、私は先輩方の公開情報をまとめただけなんで…
私のほうこそ、先人、某スレの住人の皆様に感謝、であります。
この場を借りてお礼を言わせてください。
助かりました。ありがとう>先輩方。

#2 [zatta] _『創世記』

少女小説の歴史。U氏が小躍りして喜びそうなコンテンツだな。 _(via カトゆー家断絶)

#3 [seiji] _ファルージャの目撃者より:どうか、読んで下さい

メモ。 _(via spoilerList)

#4 [blog] TrackBackとは

コメントなのか、宣伝なのか、元記事とは異なる主旨を持った記事なのか。よくわからなくなってきた。

#5 [zatta] _あんたも姫様じゃろうが…わしらの姫様とだいぶちがうのぉ

ちがうのぉ… orz _(via tach のアレゲ日記)

2003/04/19() [n年前の日記]

#1 宇宙人に襲来されるらしい

_ここ によると、 _4月20日に宇宙人が福島県に襲来してくる らしいです。さてはて福島県須賀川市に住む私は一体何をどうすればいいのでしょう。円谷英二と霊通信してウルトラマンでも呼ぶか。

#2 [web] 料理レシピのホームページ案

昨晩の夕飯時、家族と、料理関連サイトのアイデア話で盛り上がった。仕様としては、材料の一覧ページにトマトやキャベツ等の名前が並び、複数の材料名にチェックを入れて検索すると、その材料で作れる料理のレシピが表示される。冷蔵庫に入ってる材料をひとまず片付けたい、といった場合に役立ちそう。

実現する場合の障壁 :

しかし実現しようとすると、まずは膨大なレシピのデータを入力しなければならない。大変な作業。では、閲覧者自身にレシピ入力を手助けしてもらうのはどうか。皆でワラワラと入力すればデータベースもすぐに充実するし閲覧者自身にとっても利便性向上に繋がる。が、雑誌等に掲載されたレシピをついつい入力してしまって著作権云々で訴えられる可能性も。

もし実現した場合 :

仮に実現した場合、参照されたレシピのランキング表示なども面白い。閲覧者が興味を持っているであろう料理の傾向もわかるだろうから、何かしら料理に関する調査に利用出来るかもしれない。

などと話していたが :

考えてみれば既にどこかの企業がやってそう。実際に料理関連サイトを探してみたところ、前述ほどの細かい検索が出来るサイトは見当たらなかったものの、料理種別、材料の大まかな種別、調理器具の種別などで料理を検索できるサイトがほとんどだった。やはり皆考える事は同じ。

膨大な数の料理関連サイトを活用するシステム :

それにしても、少し検索しただけで膨大な料理関連サイトがひっかかる。ここまで多いなら、料理関連サイトを専門に巡回してレシピ情報を収集・検索できるシステムを提供した方が話が早い。もちろん検索結果は料理を公開しているサイトのURLのみ出力。内容まで即座に提示したら裁判沙汰になる。

そもそも必要なかった :

そもそもシステムを作る必要はないか。Google等のロボット検索サイトに、材料名を列挙して検索させれば、そもそも事足りる。だが、材料名を打ちこむ作業自体、もしかすると年配の主婦層などには面倒な作業かも。ならば、材料を列挙してチェックボックスと検索ボタンをつけ、選択された材料名をロボット検索サイトに渡してやるだけのHTMLページを作ってしまうのも手かもしれない。

コンピュータの上を「食」の情報が流れる :

それにしても、コンピュータというガチガチの工業製品の上で、これほどまでに大量の「食」の情報が扱われる世の中になったとは。MZ-731でラムちゃんを描いてた頃には想像もつかなかった。一般大衆にPCやWebが浸透した事を実感させられる。コンピュータはたしかに技術者だけのものではなくなった。などと今頃言ってるようではなんだか笑われそう。

#3 [hns] log,cgiのReferer表示を修正

log.cgiのReferer関連表示に自サイト内のURLが表示されると混乱してしまうので、push(@REFERER,$referer); を push(@REFERER,$referer) unless $referer =~ /〜/; としてみたり。でもこういう修正を加えた事で何か問題が起きたりしないだろうか。不安。

#4 [hns] 異なるRURIコードが記録に残ってしまう

log.cgiの出力結果を見ていて気がついたけど、明らかに同一ユーザなのに異なるRURIコードが多数表示されてしまう。 _こちらのサイトのページ を参考に、lib/CGI/Cookie.pm 中の my $path = $ENV{'SCRIPT_NAME'}; を my $path = '/'; にしてみたり。効果はあるだろうか。後で確認してみよう。

2002/04/19(金) [n年前の日記]

#1 PDFもうだめぽ

PDF出力実験。 _(以下略)

#2 [digital] PDFもうだめぽ

PDF出力実験。

FREEHAND8Jで、日本語フォント使用文書をPDF書き出ししてみたら、全部文字化け。
FH8は、2バイト文字はPDF書き出しできないのだそうで。
FH9もダメらしい。2バイト圏は迫害されてる…

テキストを全てアウトライン化すれば一応PDFで出てくるけど、文字が汚くて見れたものじゃない。
それならばと、PSプリンタファイル出力印刷してみても問題が。
余裕で用紙に収まってるのに「収まらない」と言ってくる。
オブジェクトが出てくるまでの空白部分が抜けた状態で出力される。
文字は綺麗に出てるだけに、惜しい…

FHでのPDF出力は諦め、テキスト入り文書はWordで処理しようと試みるものの。
文書のロゴ部分を、FHからwmfで書き出して、Wordに読ませてみて、愕然。
輪郭がネロネロしてる。なんじゃこりゃー

どうも、MS-Officeのベクターデータの扱いはダメダメらしく。
受けたデータを整数値で丸めてしまい、高精度のベクターデータを台無しにする。
付属の、MS-DRAW98とのデータ互換すら満足に取れない場面もよくあるとか。
何やっとんじゃー >MS

となると、ロゴ部分をビットマップデータにしてWordに…
って、それでは何の為にFREEHANDでみっちりデータを作ったのでありますか。
容量少なくても綺麗に出力できるから、あえて苦労してベクターデータにしてたのに。

これはもうTeXなのかー、TeXを勉強するしかないのかー
つか、貧乏人がPDF出力に手を染める事自体、やっぱり無理があるのかー (;´Д`)

2001/04/19(木) [n年前の日記]

#1 SPモノ

「らぶひなSP」、こっちでも夜中に放映してたんで見てみました。
蛇足やん。
もうちょいなんとかならなかったのかな。
「タッチSP」の時も思ったけど、「その後」を描くと失敗する場合が多いなと。
ガンダムぐらいまで別物になっちゃえばまだアレでしょうけど。

「リウイ」なるWOWOWのアニメを見たんですが。
これって面白いのかな。どこがいいのか全然わかんない。
とりあえずエロゲに出てきそうなギャルでも出してれば商品として成立してしまうのでせうか。
ちょっと悲しいです。

「ウェブダイバー」見ました。こっちでも放映始まったですよ。
某掲示板で「結構いいかも」とあったんで、実は期待してたんですけど。
途中で寝てしまいました…
CGがヘボすぎるのはわざとなのかな。
ただ設定はいいかも。パロディに使えそう。
「荒らし」「厨房」「ブラクラ」とか…
そういう今あるネタと組み合わせてなんかできないかなー、とかー (´ー`)y-~~


家庭用PCのその後。
SCSIケーブルを、弟が今まで利用してた実績のあるものと交換。
それと、各ユーザの「お気に入り」「マイドキュメント」「OutlookExpressのメッセージ保存フォルダ」を、Windows起動ドライブとは別ドライブに設定することを思いつき、それぞれ設定してみました。
これで最悪起動ドライブが壊れても、各ユーザの大事なデータは消滅せずに済むかなと。
ただ、アドレス帳(メールアドレス)データの保存場所を変更する方法がわからなくて…

各ユーザのデータ保存場所(c:\windows\profile)を丸々変更できればいいのですが。
Linuxなら、/homeを別ドライブに設定したりできたんだけどな。
WinNT系なら、そういうことも出来るのだろうか。
それとも、Win9xでも一応出来るのかな。
調べてみないと。

上記の変更をしたニューPCだけ階下に残し、今まで使ってたPCは回収。
これでなんとかなるかな。

と思ったんですが。
早々に寝てたら、「エラーが出て動かんぞ」なる親父さんのSOSが。トホホ
すんません。今日は眠いんで明日やりますです… (_ _).。o○

2000/04/19(水) [n年前の日記]

#1 (NoTitle)弟から借りたVIPERシ...

弟から借りたVIPERシリーズを遊んだデス。
クリアすればHDDからアンインストールできる→HDD空き容量を増やせるかな、と思ったので。

借りたゲームなんで、あんまりヒドイ事言えませんが。
でも、相変わらずあまりにもタルイですね >VIPER
アニメ部分はともかく、ゲーム部分は、やっぱりいらない。

と思ったのですが、ふと考え直したり。
VIPERのゲーム部分って、そのタルさ自体にメッセージ性があるのでは、と。
敵と遭遇して戦っても経験値やアイテムが入手できるわけでなく。敵との戦闘の仕方に頭を使う必要もなく。ただひたすら、ダラダラと、ユーザの時間を消費させるだけの苦痛でしかない存在。あえてそういう無意味さ・苦痛を強調する事で、「ゲームという存在全て」をパロっている…
…なるほどなぁ。この時間経過のツラさ。練りこまれてないインターフェイス。「何年前のゲームだ?」と思わせるショボい画面構成。全てひっくるめて制作者からのメッセージ、か。深い。
…そうかぁ?
単に制作者が、マトモなゲームを遊んだ経験が無いだけでは、という気も。
どうなんでしょうね。

それとは別に。
VIPERシリーズが、ソニアという会社が、この世に存在するという事実は、ある情勢を常に我々の目の前に表してくれてるのだと思うのです。
同じアニメ制作に関する作業をしていても、その金銭的な見返りが、アニメ業界とPCエロゲー業界では天と地ほどの違いがあるということ…それを表している、と。
アニメ業界で作業をしても、毎月、パンの耳やカップラーメンぐらいしか食べれないような給料しか貰えないけど、PCエロゲー業界で作業すると、家を建てたり、フェラーリ(だっけ?)を乗り回せちゃうわけです <かなり誇張されてますけどね
作業内容は同じなのに…いや、PCエロゲー業界での作業のほうが質的には低いのかな。アニメで、笑ったとか、泣いたとか、考えさせられたとか、そういう話は聞くけど、VIPERをプレイして、笑ったとか泣いたとか、そういう話聞いたことないですしね。でも後者のほうが儲かるわけで。
作画技術と脚本や演出を一緒にして考えるのもどうかという気もしますが、少なくとも最終的に出来あがったモノの全体を見れば、そういう判断もできなくはないかな、ということで>質的にどうこう

いつか、VIPERシリーズが消滅したり、ソニアという会社が潰れる、そんな時代が来るといいですね。
ヒドイ事言ってるようですが、そうではないです。
わざわざPCエロゲー業界で仕事しなくてもいい時代。アニメ業界オンリーの作業だけで経済的に人並みの生活が送れる、そういう業界にアニメ業界がなってくれれば、という話で。
VIPER見てると、「アニメだけで飯食えればそれでいいんだけどな」という制作者達の思いが伝わってくるような気がするんです。
だから、ソニアが潰れる=制作者達が皆、アニメ業界で安心して仕事が出来る時代が到来した、ということで。それは彼らには、とても嬉しい状態のはず。そういう意味で、「潰れるといいですね」なのですよ。
まあ、社長が水槽作らせたりキノコ栽培させて潰れちゃう可能性もあるかもですが、そういうのは抜きで(笑)

結局ヒドイ事言ってしまってるような気がする… (-_-;)
それ以前に、なぜわざわざ借りてまでプレイするのでしょうか>オイラ

全然関係無い話ですが。
i-modeでHな小説が読めたら人気でますかね。
…わざわざ電車の中とかで、読む人はいないか〜 (´ー`;)
ん? まともな連載小説だったら、もしかして読むかな。
オイラ自身は文才ないので、やろうと思っても出来ませんけど。アフン

1999/04/19(月) [n年前の日記]

#1 (NoTitle)今日は病院へ自転車で...

今日は病院へ自転車でGO。
先生とお話した内容は…ICQとか、写真屋は高いとか、FF7・8は社会人になったら戦闘がタルくて面白くないとか…あー、パソコンとゲームの話しかしていない! ヤベエよ!
診察室から出た時の、看護婦さんの目が冷たい感じがしたのは…気のせいでしょうか。(T_T)

帰りに雨に遭遇。とりあえず小雨だったので我慢してアチコチ回る。求めるものはDVD。やはりハードを持ってたらソフトも欲しくなるっていうのがオタクの正しい道じゃ、あーりませんか。(いや。ソフトを先に買っちゃうのが正当なオタクか?) ってことで見て回りましたが…無いね。無いです。ありませ〜ん。需要少ないんでしょうなぁ。しかしこんなんで大丈夫かDVD!? 規格倒れかひょっとして? オイラのドライブはどうなる!? …いや、まあ、CD-ROMドライブとしては使えるからいいけどさぁ(と、自分を慰める…)。
そういや、J-ZONEでデモってた DVD (タイトルは007)を見たら、結構画質が綺麗でした。それは REAL Magic っていうハードウェアデコーダボードを使用してたんですが。やっぱりハードウェアじゃないとダメなのか? しかしそこまでいったら値段的に DVD プレイヤー買っちゃったほうがいいし。って、そもそも今のこんな普及率で買う必要があるのかどうか。ビデオや MD とかと違って録画(音)できないし。 LD みたいなもんだし。…そう、普及させるためにはやはりHなパワーを使うしかない! デジタル処理でモザイクをはずせるような規格を追加するナリよ。ズッキューンと売上倍増、一気に普及するぞ! って、んなことしたら捕まっちまいますがな。ギャフ〜ン。

帰り道、自転車を走らせていると公道でありながらついつい歌を口ずさむ自分。ふと気がつくと「MAID IN HEAVEN」(Hロリゲー)のOP曲を歌ってた。
な、な、なんちゅう恥ずかしいやっちゃ! たいしたもんだ、このロリエロオヤジは…って感心してどうする。<オレ

以上、25 日分です。

過去ログ表示

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

カテゴリで表示

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


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

Powered by hns-2.19.6, HyperNikkiSystem Project