mieki256's diary



2018/12/30() [n年前の日記]

#1 [zatta] 蛍光灯の種類を間違えて覚えてた

部屋の蛍光灯がなかなか点かなくなってきて、新品と交換しないといかんなと。親父さんが電器店に行く用事があるとのことで、「昼白色」の蛍光灯も買ってきてとお願いしたのだけど。買ってきてもらった蛍光灯のパッケージを目にして後悔。「ナチュラル色」と書いてある…。

自分、何故か、電球色<昼光色<昼白色、の順で明るいものと思い込んでた…。電球色<昼白色<昼光色、だったのだな…。わざわざPanasonicが「クール色」「ナチュラル色」と混同しないような種類名をつけて店頭に置いてあるというのに…。

でもまあ、今まで使ってた、真っ黒になりつつある蛍光灯と比べたら、新品だけあって全然明るいので、使い物にならないというわけではないのだけど…。失敗した…。

たぶん、太陽光に近い色=昼光色、と間違って覚えていたのだな…。太陽光より明るい色=昼光色、と覚えておくべきだったのだろうか…。

#2 [nitijyou] 年賀状を出してきた

今年はなんとか年末中に年賀状を作れた…。もっとも、今から出しても元旦には届かないだろうけど。

2017/12/30() [n年前の日記]

#1 [anime] 「ガールズ&パンツァー劇場版」を視聴

TV放送された版を録画したまま見てなかったのだけどようやく視聴。

面白かった。戦車については全く知らないし、各学園の元ネタもさっぱり分からんし、どうも細かいところでカットされてたような気もしたけれど、それでも見ていてフツーに面白かった。TVシリーズを視聴していた人ならこのシーンで盛り上がるだろうなあ、とか、大画面でこのシーンを見たらスゴイ迫力だろうなあ、とか、そのあたりを容易に想像できるぐらいによくできたアニメ作品のように感じたり。

何度も劇場に足を運んだ人が居るらしいけど、この内容ならそれも当然と思えてくるほどの出来。これは何度も見たくなるわな…。素晴らしい。

それにしても、よくまあこんなシチュエーションを思いつくなあ…。また、映画の長さに対して脚本の量も少なかったりしないかと想像したりもして。ほとんどが戦車の追いかけっこ、台詞無しのシーンばかりだし。コンテを描くのも大変だったのでは…。

#2 [movie] 「ペーパー・ムーン」を視聴

録画したまま見れてなかった、映画「ペーパー・ムーン」をようやく視聴。録画日を確認したら 2016/03/04だった…。ずっとHDDレコーダに入れっぱなしだった…。

映画のタイトルはあちこちでよく目にしていたけど、視聴したことは無かったわけで。なるほど、こういう話だったのか…。昔だったから作れたけど、今じゃこんな話作れない予感。というか子供の喫煙シーンだけでもアウトだよな…。

ずっと見てるうちに、なんだか見覚えがあるようなないような、妙な感覚に。不安になってきて日記を検索してみたら…。アレ? 自分コレ _見たことある じゃん! マズい。完全に忘れていた…。しかも似たような感想書いてるし…。もうダメだ。自分の記憶力はもうダメだ。

#3 [movie] 「キャプテン・アメリカ/ウィンター・ソルジャー」を視聴

録画したまま見れてなかったけどようやく視聴。

見始めてから気付いたけど、コレって続編映画だったのか…。設定が分かるかなと不安になったけど、まあ大体なんとなく分かった。CGとアクションがスゴイことになってるから、そこだけでも楽しめる印象。

#4 [ubuntu] キューブ機にXubuntu 16.04 LTSをインストール

自宅サーバ機の電源がどうも怪しくなってきている気がするので、代替用として随分昔に購入したまま埃を被っていたキューブケースのPCを少しセットアップしておこうかと。とりあえず Xubuntu 16.04 LTS をインストールして、そこから作業をしていこうかな、と。

キューブ機のスペックは…。 だったような気がする。

_Xubuntu から、isoをダウンロード。Atom N270 は32bit版しか動かなかったはずなので、32bit版のiso、xubuntu-16.04.3-desktop-i386.iso を選んだ。 _Intel Atom - Wikipedia によると、デスクトップ用 Atom の 230 や 330 なら64bitに対応してるっぽいのだけど、モバイル用の N270 は64bit非対応らしい。

_UNetbootin (unetbootin-windows-657.exe)を使って、USBメモリに、USBブートできる形でisoを書き込み。USBメモリをキューブ機に差して起動。BIOS設定で、USBメモリから起動するようになってたようで、そのまま Xubuntu が起動した。

ディスクを削除する形でインストール。インストール自体は、体感で30分〜1時間ぐらいかかったものの、すんなりできた。

しかし、再起動後、ネットワークに接続できなくて悩んだり。ググってるうちに思い出してきた。昔の Intel Atom + Intelチップセットを使ってる環境で Ubuntu を入れると、r8168 ではなく r8169 が間違って使われてしまう…のではなかったか。ドライバをインストールし直さないと。

2016/12/30(金) [n年前の日記]

#1 [nitijyou] 自転車で買い物に

近所のヨークベニマルとサンドラッグまで。飲み物系を購入。

強い風と、大きめの雪がチラチラと。空は晴れてるのだけど…。

2015/12/30(水) [n年前の日記]

#1 [python] インデックスカラー画像のパレット値を取り出してGIMP Paletteファイルにしたい

インデックスカラーのpng画像を読み込んで、GIMP Paletteファイル(.gpl)に変換したい。環境は Windows7 x64。

Python + Pillow を使ってパレット値を取り出せないか実験。おそらくこんな感じで取り出せそう。
>>> from PIL import Image
>>> im = Image.open("mz700.png")
>>> pal = im.palette
>>> value_mode, data = pal.getdata()
>>> value_mode
'RGB'
>>> data
'\x00\x00\x00\x00\x00\xff\xff\x00\x00\xff\x00\xff\x00\xff\x00\x00\xff\xff\xff\xff\x00\xff\xff\xff'
>>> lst = list(data)
>>> lst
['\x00', '\x00', '\x00', '\x00', '\x00', '\xff', '\xff', '\x00', '\x00', '\xff', '\x00', '\xff', '\x00', '\xff', '\x00', '\x00', '\xff', '\xff', '\xff', '\xff', '\x00', '\xff', '\xff', '\xff']

Pythonスクリプトにしてみた。 :

Pythonスクリプトで書いて、Gist に置いてみた。

_インデックスカラー画像のパレット値をGIMP Palette(.gpl)に変換

動作には、Python + Pillow が必要。

スクリプトの使い方は、インデックスカラー画像(hoge.png)を用意して、以下のように打つ。
python image2gpl.py hoge.png
そのままだと標準出力に GIMP Palette フォーマットで内容がダンプされる。

結果をファイルに保存したい時は以下のように。
python image2gpl.py hoge.png > hoge.gpl

カレントディレクトリ内の画像ファイルを一括して GIMP Palette に変換したいなら、Windowsの場合、以下のようなbatファイルを書けばできる。と思う。たぶん。
@echo off
@rem カレントディレクトリ内のインデックスカラー画像を一括してGIMP Palette(.gpl)に変換

for %%F in (*.png) do (
python image2gpl.py %%F > %%~nF.gpl
)

PythonとPillowのインストール方法についてもメモ。 :

Python は _Download Python | Python.org から .msi が入手できる。python-2.7.11.msi をDLして実行すればインストールできるのではないかと。

Pillow は、 _Pillow 3.0.0 : Python Package Index の下のほうにインストール用の .exe があるので、ソレを実行すればインストールできる、のだろうか。自分の環境では、昔のメモを見直すと easy_install pillow でインストールしたっぽいけど。 _PillowのバイナリをpipでWindowsで扱う話 によると、2014/02の段階では Windows環境でも pip install pillow でインストールが可能だったらしいので、今も pip でインストールできるのかもしれない。

Pillow の動作には「Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ」とやらが必要、と手元に残ってる昔のメモには書いてあるけど、今はどうなんだろうか。

_blockdiag 1.3.1 インストールメモ - 虎塚
_blockdiag の概要 - blockdiag 1.0 ドキュメント
_Download Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86) from Official Microsoft Download Center

#2 [gimp] GIMP Paletteファイルのフォーマット

GIMPユーザフォルダ内の GIMP Paletteファイル(.gpl)ファイルの中身を確認してたけど。要するに、.gplファイルはテキストファイルで、以下のような感じで記述されてるっぽい。
GIMP Palette
Name: Defaults Colors New
Columns: 10
#
  0  31  63	#001f3f
  0 116 217	#0074d9
 46 204  64	#2ecc40
 57 204 204	#39cccc
 61 153 112	#3d9970
127 219 255	#7fdbff
  1 255 112	#01ff70
255 220   0	#ffdc00
255 133  27	#ff851b
255  65  54	#ff4136
240  18 190	#f012be
177  13 201	#b10dc9
 17  17  17	#111111
133  20  75	#85144b
170 170 170	#aaaaaa
221 221 221	#dddddd
255 255 255	White
そんな感じじゃないのかなと。

#3 [zatta] アセンブラソースをCで書き直すのって珍しいのだろうか

以下の記事を目にしまして。

_【岩田 聡氏 追悼企画】岩田さんは最後の最後まで“問題解決”に取り組んだエンジニアだった。「ゲーマーはもっと経営者を目指すべき!」特別編 - 4Gamer.net

Mother2の立て直し時に電子メールを導入したり、 _CVS 的なものを導入した、てなあたりの話が凄いなシビレちゃうなカッケーなあ、と思いながら読んでたのですが。どうも一点、気になるところがあって。いや、実に些細なことというか、話の全体の流れの中ではホントどうでもいいことなんですけど。

石原氏: (中略)それだけでも凄いんですが,驚いたのは,なんと岩田さんは,アセンブリ言語で書かれたゲームボーイ版のソースを見ながら,それをC言語に書き換えるというやり方で作っていたんですね。

川上氏: ええ!?

石原氏: そんなやり方,ほかで聞いたことがないんです。逆アセンブルとかならまだしも,アセンブラのコードをコンバートするとか。あれは,謎の技術でしたね。

三津原氏: そもそも,アセンブラというのは一行一行に意味があって,それを何行かまとめたらCのコードになるわけですよ。それを逆に組み立てるというのは,普通に考えたら相当に難しいというか,破綻しそうな話なんです。プログラマーの目から見ても,褒め言葉で「変態」と呼んでいい難しい作業だと思います(笑)。

【岩田 聡氏 追悼企画】岩田さんは最後の最後まで“問題解決”に取り組んだエンジニアだった。「ゲーマーはもっと経営者を目指すべき!」特別編 - 4Gamer.net より

三津原氏: アセンブラをCに変換できるエンジニアというだけでも稀有だとは思いますが,そっちは探せばいないわけではないんです。

【岩田 聡氏 追悼企画】岩田さんは最後の最後まで“問題解決”に取り組んだエンジニアだった。「ゲーマーはもっと経営者を目指すべき!」特別編 - 4Gamer.net より


アセンブラのソースを見ながらC言語で書き直していった、という話だとすれば…「稀有」とまで言われる話でもないような…。

というのも、そのくらいなら自分が参加させてもらった某STGの移植作業でも、チーム全員(と言ってもたしか5〜6人だったけど)がフツーにやってたからで。自分のようなゴミクズカスの落ちこぼれダメダメプログラマーですらやれていたのだから、アセンブラでゲーム書いてた世代ならほとんどの人はできることじゃないのかなと。そもそもアセンブラで書く時も、頭の中では高級言語ノリで考えてから各命令に分解していくのだし。それとも、「いやいや待て待て、そんなよくある話じゃなくて」ということなのかな…。自分は何か勘違いしてるのだろうか。 *1 *2

もちろん、他の逸話はどれもこれも「正真正銘、スーパープログラマーだったんだなあ」と思える話ばかりなので、結局は、「岩田氏ならそのぐらいできて当たり前でしょう」てな感じで、氏が下位レイヤーから上位レイヤーまで全てを把握しきってるプログラマーだったと証明する話の一つであることに何ら変わりないのですけれど。

まあ、なんだかちょっと、微妙に気になったという、ただそれだけの話です。珍しいのかなあ…。当時は珍しくなかったよね…。いや、でも、珍しいということにしといたほうが話が面白くなるところも…あるのかなあ。
*1: もっとも、元記事中では、「そんなやり方はどこかで破綻する」とも言っていて、それはたしかにその通りだよなと。というのも、自分も元ソースの動作の全てを把握できなくて、それが原因で結構クリティカルなバグを入れてチームに迷惑をかけてしまった体験もあるわけで。
*2: 余談。その某STGの移植作業に関しては、メインプログラマーの方がやってた、ROMのバイナリを解析してCのソースを自動で書き出しちゃう仕組み(デコンパイラ?)を作ってから移植しちゃったエピソードが、当時の自分にとっては衝撃的で。当人は、「最終版のアセンブラソースが残ってなかったから仕方なくやった」と言ってたけれど…。自分達がやってた移植作業もその方法でやれば良かった、と悔んだら、「そっちの基板はCPUが2つ並列して動いてるからちょっと難しいかもなあ」と言われた記憶も。…今ならエミュレータ作って動かしちゃうのだろうけど、当時はスペックが厳しかったから、スペックに最適化したソースを人力で書き直すのもアリ、だったのかもしれないな、とも思うけど。どこまで自動化できそうか、作業を始める前に検討して方針を決めるあたりからして、できる人は違うのだな、知識の有無がこういうところで効いてくるのだな、などと当時は再認識させられたのです。なもんで、アセンブラソースを見ながらCのソースに書き直すなんてのはフツーでしょう、プログラマーとしては凡人レベルでしょ、と思えてくるところもあったりするのでした。

2014/12/30(火) [n年前の日記]

#1 [dxruby] Ayame.dll にはループ再生位置の指定機能が実装されてることを確認

ayame.so のビルドが手元で通るようになったので、例のループ開始位置云々を実験。テキトーなサンプルポイント値を決め打ちで渡すように修正してビルド。…ちゃんと途中からループ再生された。

つまり、Ayame.dll 自体は、ループ開始位置を指定する機能が実装済みだった、ことが自分の手元でも確認できました。

あとは ayame.so 側で対応してもらえればありがたいのだけど…。

サンプル値が確認できる波形編集ソフトについてメモ。 :

フリーで使える波形編集ソフト、Audacity なら、波形を見ながらサンプル値が確認できる。下の方に時間が表示されてるけど、小さい三角を押してリストの中から「サンプル」を選べばサンプル値表示に切り替わる。

同様に、フリーソフトの SoundEngine Free も、上の方の「サンプル」ボタンを押せばサンプル値表示に切り替わる。

なので、「サンプル値を指定せよ」な仕様で問題無いはず。

#2 [ruby] Visual C++ で Windows版RubyのC拡張ライブラリがビルドできるか実験

記事の順番が前後しちゃってるけど…。Visual C++ を使って、Windows版RubyのC拡張ライブラリを作れるのかどうかが気になってきたので試したり。

環境は、Windows7 x64 + ActiveScriptRuby 2.0.0 p353 (mswin32版) + VS2010(Visual Studio 2010 Express) + Windows SDK。

_ActiveScriptRuby and Other packages によると、ActiveScriptRuby 2.0.0 は VS2010 のライブラリとリンクしてる、と書いてあるので、VS2010 を利用。

最初、VS2010上でdllをビルドしようとしたけど、出来上がった .dll を .so にリネームして使おうとしても「読み込めねえよ」と文句を言われてしまった。なので、コマンドライン(DOS窓)上でビルドできないか実験。

Windows SDKのインストール。 :

VS2010 に入ってるコンパイラ等をコマンドライン上で使おうとする場合、以下のbatファイルを実行するとビルドに必要な環境変数が設定される。
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86

それと、 _Windows SDK for Windows 7 and .NET Framework 4 てのが必要という話を見かけた。

Windows SDKは自分の環境でも以前インストールしてあったはずなのだけど、どうもちゃんと設定されてないところがあったので、アンインストールしてから再インストールしてみたり。

Windows SDK をインストールする際、不具合が3つある。以下の記事で解説されてる。

_Windows SDK for Windows 7.1 をインストールするとエラーが発生する - Microsoft.NET - Project Group
_windows sdk - WindowsSdkDir is not set correctly in Visual Studio 2008? - Stack Overflow

  1. Microsoft Visual C++ 2010 x86 Redistributable、Microsoft Visual C++ 2010 x64 Redistributable のバージョンが新しいと、Windows SDK のインストール時にエラーが出る。
  2. Visual C++ 2010 SP1 がインストールされてると、インストール時にエラーが出る。
  3. レジストリに、Windows SDKのインストール場所が正しく記録されていない。

1. の問題は、Windows SDK インストール前に、コントロールパネル経由であらかじめ Microsoft Visual C++ 2010 (x86|x64) Redistributable をアンインストールしておくことで回避できた。Windows SDK がインストールされれば、そのうち Windows Update で最新版に更新されるらしい。

2. の問題は、Windows SDK インストール時に、Visual C++ Compilers の選択を外してからインストールしてどうにか。その後、 _Windows SDK 7.1 用 Microsoft Visual C++ 2010 Service Pack 1 コンパイラ更新プログラム をインストール。

3. の問題。vcvarsall.bat を実行した際、〜\Common7\Tools\VCVarsQueryRegistry.bat によってレジストリの値が読み取られ、Windows SDK のインストール場所が環境変数 WindowsSdkDir に設定されて、それを元にして環境変数 INCLUDE や LIB が設定されるのだけど。Windows SDK インストール時に、レジストリに場所が記録されてないので、環境変数 INCLUDE や LIB の値がおかしくなってしまう。

仕方ないので、レジストリに自分で追加。WindowsSDKPathSet_HKCU.reg というファイルを作って以下を記述。右クリックして「結合」。
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A]
"InstallationFolder"="C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\"

RubyのC拡張ライブラリをVisual C++でビルド。 :

  1. xxxx.c や extconf.rb を用意。巷の解説ページからコピペしてきたり。
  2. コマンドライン上で vcvarsall.bat を実行。Visual C++ (cl.exe等)が使える状態になる。
  3. ビルドに必要なヘッダファイルやライブラリファイルを、ActiveScriptRuby 2.0.0 のインストールフォルダからコピーしてくる。ruby/ というフォルダを作って、include/ フォルダ内にヘッダファイル(*.h)を、lib/ フォルダ内にライブラリファイル(*.lib)をコピー。
  4. Ruby側からコピーしてきた config.h の最初のあたりに、VC++ のバージョン決め打ちでビルドする記述があるので、場合によってはコメントアウト。
  5. ruby extconf.rb --with-opt-dir=ruby を実行。Makefileが自動生成される。中を覗いたら、コンパイラとして cl が指定されてたので、VC++用に出力された Makefile らしい。MinGW用の Makefile なら gcc とか g++ が指定されてるはず。
  6. Makefile 内のコンパイルオプション等を修正。-MD を -MT に変更。g- と -G6 を削除。-MT にすると静的リンクになるらしい。
  7. nmake を実行。VC++ は nmakeで、MinGW は make。
Init_Xxxx がどうのこうのとエラーが出たけど、関数名を Init_xxxx にしてみたら通った。何故。それでもとりあえず、xxxx.so ができた。

ActiveScriptRuby 2.0.0 (mswin32版) では使えたけれど、RubyInstaller 2.0.0 p451 (mingw版) では動かなかった。

MinGW版Ruby でも動く .so を VC++ でビルドするにはどうしたらいいんだろ…。ライブラリファイルが違うから無理なのかな…。でも、mswin32版用のバイナリなのに、mingw32版Rubyで動くものもあるよな…。どうやって作ってるんだろ…。

Ruby 1.9.2 mswin32版をインストールして同じことを。 :

以下の記事を読んでるうちに、Ruby 1.9.2 mswin32版を対象にしてビルドすれば mingw32版Rubyでも動くC拡張ライブラリができるのでは、と思えてきたので試したり。

_Ruby2.0.0-mswin32版のDXRuby1.4.0 - mirichiの日記
_DXRubyコンパイル - mirichiの日記

_Release - Ruby-mswin32 (ja) から、ruby-1.9.2-p136-i386-mswin32.zip をDLして解凍。任意の場所に置く。この版は VC6.0 でビルドされてるから MinGW と互換性がある、らしい。

pik または uru を使って、他のバージョンのRubyと切り替えて使えるように。

登録。
pik add C:\置いた場所\bin
uru admin add C:\置いた場所\bin

登録されたか確認。
pik list
uru ls

切り替え。
pik 192
uru 192p136

簡単な *.c と extconf.rb を用意して、前述の手順と同じことをしてみたら、*.so ができた。mswin32版Rubyから呼び出せた。試しに、mswin32版Ruby から、mingw版Ruby に切り替えて使ってみても動いた。なるほど、VC6.0 でビルドされた Ruby のアレコレを使えば、mingw版Rubyでも使える、と…。

ayame.so のビルドも試してみた。 :

調子に乗って ayame.so のソースでもやってみた。環境変数 INCLUDE や LIB に、DirectXインストール場所\Include、Lib を追加。LIBPATH に DirectXの .dll が置かれてる場所を追加。そして同じ手順で作業を。

ruby extconf.rb で、「dsound.lib がねえよ」と言われる。もしかして、INCLUDE や LIB は見てくれないのかな…?

extconf.rb の最初の方に、
dir_config("DX")
を追加して、--with-dx-include=xxxx --with-dx-lib=xxxx でDirectXのインストール場所を指定できるようにする。
ruby extconf.rb --with-opt-dir=ruby --with-dx-include="C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Include" --with-dx-lib="C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86"
今度はエラーが出ない。Makefile が作成できた。

nmake してみた。*.so ができた。ruby sample1.rb を実行。…音が鳴った! MinGW でビルドした版と違って、こっちはちゃんと音が鳴ってる。なるほど、やっぱり VC++じゃないとビルドできないのですな…。ていうか今頃、配布ファイル名に mswin32 とついてることに気付いたりして。何故自分は今まで気づかなかったのか。トホ。

#3 [game][neta] MEGA-CD版シルフィードの背景動画を再生

_mieki256's diary - MEGA-CD版シルフィードの謎技術についてもうちょっと想像 のツッコミ欄で、「MEGA-CD版シルフィードの背景動画を再生できるツールがありますぜ」と教えてもらえたので試してみたり。

_TRASYS/FSW_List

おそらくは、HIDOGA20.LZH てのがソレらしい。PC-98/PCAT用のプログラム。解凍すると、HIDOGA.COM と HIDOGA.DOC が入ってる。

Windows7 x64 上でDOS窓を開いて実行してみたら、「いくらなんでもこんなに古いプログラムには対応してねえよ!」と怒られた。DOS時代のプログラムだもんな…。

なので、仮想PCを起動できる VMware Player + Windows98 を起動して、そちらで試してみたり。 *1

仮想PC上の Win98 にファイルを持っていく方法で悩んだけれど、Win98 側で共有フォルダを作成して、Windows7 x64側からネットワークコンピュータ経由で Win98 側の共有フォルダを開き、ファイルをコピーしてみた。

MEGA-CD版シルフィードのCD-ROMを部屋の中から発掘。BDドライブに入れる。

VMware Player 側でBDドライブを握らせる。VMware Player の左上のメニューから、取外し可能デバイス → CD/DVD → 設定 → 物理ドライブを使用 → ドライブレターを選ぶ。Win98上ではDドライブに割り当てられた。

Win98上でDOS窓(コマンドプロンプト)を開き、hidoga.com -? を実行。ヘルプが表示された。

hidoga.com -M1 d:a00 を実行。

全画面表示で、MEGA-CD版シルフィードの背景動画が再生された。おお…動いてるわ…。これは面白いモノを教えていただけた…。感謝です。

ちなみに全画面表示と言っても、VMware Player 上で動かしてるから、VMware Player の画面ウインドウが小さくなるだけです。ホストOSが全画面になるわけではないので安心を。

感想。 :

改めて見てみると…。どう見ても動画ですな!

例えば、
  • 地球の表面の細かい模様
  • 回転してる岩の、面の明度をディザで表現
  • 宇宙船の表面の細かい凹凸
等々、当時の実機で、ポリゴンで描けるわけないし。まあ、動画制作中は、おそらくPC-9801やX68Kあたりがポリゴンをチマチマ描いてただろうから、「これはポリゴンです!」と主張できなくもないかもだけど…。

再生してみるまでは、「内部では、実機が持ってるハードウェア的転送機能を利用していたステージも…ソレをエミュレートしている可能性も…」などと思ってたけど、いくつか動画を見ているうちに、各ステージに合わせて描画の仕組みを変えているとは思えないなと。どれも細かすぎる。どう見ても動画ですよね。

しかしそうなると、パッケージに描かれてる「リアルタイムポリゴン描画」って、一体どこで使われてるのだろう…?

ただの「ポリゴン描画」なら、「プリレンダリング中はポリゴン描画してましたよ?」と言い逃れもできるけど、「リアルタイムポリゴン描画」とまで書いちゃうと言い逃れできないよなあ…。おそらくどこかで部分的に使っているのだろうとは思うけど。嘘はついてなくても、仕組みが分かったら、「え? そこがソレ? …騙された!」みたいなことになりそうな。

さておき。パッケージをよく見てみると、
  • 4万画面を超える背景画像
  • 独自のCG、動画技術による〜
と、わざわざ書いてあることに気がついた。なんかそのへん、「あのー、背景は動画ですからね?」と弁明してる印象も。

しかし、それでいて、
  • 3CPU完全並列動作による高速演算
とも併記してあるし。なんていうか…上手いよなあ…。

でもまあ、こうやって、お客さんに夢を見せてた時代もあったってことで。

当時に比べると、今は凄いよなあ。ガチでリアルタイム計算して、ゴイスな画面が次から次へと。もっとも、技術で夢を見せられる時代は既に…。でもないか。まだまだイケるか。未来の映像を思い浮かべながら、まだ全然足りてねえよ、もっとイケるよ、そう踏んでる人もたくさん居そう。

それはともかく。見ているうちに、「これはこれでスゴイ」と思えてきたり。宇宙船のモデリングや、地形のモデリング等、今の自分ですら(?)、このレベルで作れる気がしない…。しかも、手作業で各フレームにアタリをつけていったと聞いた記憶もあるし。作業量を想像すると吐きそう。よくまあ作ったもんだよなあ…。

*1: 一応 VMware Player + WinXP でも試してみたのだけど、そちらだと怒られはしないものの、ヘルプメッセージが出なかった。

この記事へのツッコミ

Re: MEGA-CD版シルフィードの背景動画を再生 by youkan    2015/04/17 12:08
こんにちは。
TRASYSさんのHIDOGA.COMを個人的に解析してWin32アプリに移植したものがリンク先にあります。
動画の圧縮展開方式は、同梱のCソースを見ていただくのが早いかと思います。
ご参考まで…。

リアルタイムポリゴン描画は、自機・敵機など動くキャラクタに使用されているようですね。

#4 [zatta][neta] 画像を三角ポリゴンにするフィルタってないのかな

MEGA-CD版シルフィードの背景動画について、事前にポリゴンの描画座標だけ求めて実機は描画に専念して、みたいな妄想をしてたわけだけど。

ソレを逆に考えて、実写動画の各フレームを、無理矢理三角ポリゴンに変換し続けながら再生したら、変わった映像にならないかなー、などと妄想。

と思ったけど、既にあった。

_ポリゴン風イラストを自動で作成できるアプリまとめと、その可能性 - 聴く耳を持たない(片方しか)

もっとも、紹介されてるアニメGIFを見ると、各フレームが不連続なわけで。これがもし、フレームが連続した状態で変換可能なら、もうちょっと違う映像になりそうだな、とも。

展開を余計にやっちゃうことで変な映像にならないかな。 :

例えば、 _ランレングス圧縮 されてる画像を表示する際、余分に展開してレイヤーに分けて重ねながら描画していくことで、変な映像になったりしないかな、てな妄想も。

ランレングス圧縮された画像を展開するというその仕組みは、言うなれば、横1ラインのポリゴンを描画してるのと同じだよなと思うわけで。その、1ライン分のポリゴンを、より大きく、あるいはより小さくして描画していけば、変わった映像にならないかと。

モザイク映像とたいして変わらないかもしれず。

2013/12/30(月) [n年前の日記]

#1 [anime] アニメミライ作品を視聴

BSフジで放送されてたアニメミライ作品を視聴。「リトル ウィッチ アカデミア」「わすれなぐも」「デスビリヤード」「アルヴ・レズル」「万能野菜 ニンニンマン」を一挙放送、だったかな…。たしかそのはず。

個人的には、「リトル ウィッチ アカデミア」「わすれなぐも」「デスビリヤード」が、かなり面白かったなと。

「リトル〜」は、魔女を育成する学校を舞台に、てな話。TRIGGER作品なだけあって、元気一杯な感じで。Kickstarterで続編制作?資金が集まったらしいけど、なんだか納得。たしかにコレは、続きを見てみたくなるよなあ…。

「デスビリヤード」は、よくわからないバーに連れてこられた二人が命をかけたビリヤードをさせられる、てな話。視聴者の想像にお任せします的なソレが仕込んであって、そのあたりが面白いなと。さらに、若者役を担当してた声優さんの迫真の演技もグー。マクロスFや氷菓の主人公役をやってた方らしいけど、心の底から叫ぶ、みたいな演技が、めちゃくちゃ上手いなと…。

「わすれなぐも」は、古書の中にとある○○が、てな話。この作品、個人的に、かなりお気に入り。おそらく30分前後の作品だろうに、たったそれだけの時間で、自分も完全に絡めとられてしまった気がしてきたり。あのキャラ、可愛い。その分、恐ろしい。なんだか「観用少女(プランツドール)」を思い出したりもして。ああいう作品は好きなのです。「わすれなぐも」も「観用少女」も、小説・漫画・アニメじゃないと成立しない作品だよなと。こういうのは実写ではちと成立しにくい。「カリ城」の「クラリス」とか、「うさぎドロップ」の「りん」とか、そういう可愛さって実写じゃ難しいだろうと。「わすれなぐも」は、ああいうソレを出してくる作品だよなと。

「アルヴ」と「ニンニンマン」はノーコメント。若手育成云々と言うアニメミライの目的が達成できていれば、それでOKなのではないかと。

とにかく、「わすれなぐも」を見れただけでも良かった、と思えたり。この作品は、素晴らしい。や、単に自分にとってチョー好みなだけ、なのですけど。

全然関係ないけど、「わすれなぐも」を見た後で、「『境界の彼方』もこういう方向なら、納得できるラストになったんじゃないか」と思えてきたり。…いや。それ、どうなんだろ。自分はそういうの好きだけど、たぶんフツーの人は見ていて怒るんじゃないか。うーん。

#2 [ruby][python] 画像を難読化してみる

画像に変な難読化をかけてみる実験。

とりあえず、Python 2.6.6 + PIL(Pillow)を使って、読み込んだ画像を難読化。

_imgcrypt.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
u"""
画像に変な暗号化をかけてみるPythonスクリプト

PIL(Pillow)を使用。

Usage:
    python imgcrypt.py IN_IMAGE OUT_IMAGE

"""

import sys
import os
from PIL import Image

next = 1

def rand():
    u"""乱数生成器(C言語のソレ)"""
    global next
    next = (next * 1103515245 + 12345) & 0xffffffff
    return int((next / 65536) % 32768)

def srand(seed):
    u"""乱数初期化。種を渡す。"""
    global next
    next = seed

def encrypt_image(img):
    u"""画像を難読化。Imageを渡す。"""
    outimg = img.copy()
    w, h = img.size
    srand(0)
    for y in range(h):
        rx = rand()
        for x in range(w):
            c = img.getpixel(((x + rx) % w, y))
            outimg.putpixel((x, y), c)
    return outimg

def decrypt_image(img):
    u"""画像の難読化の解除。Imageを渡す。"""
    outimg = img.copy()
    w, h = img.size
    srand(0)
    for y in range(h):
        rx = rand()
        for x in range(w):
            c = img.getpixel(((x - rx) % w, y))
            outimg.putpixel((x, y), c)
    return outimg

def main():
    if len(sys.argv) < 3:
        print "Usage: python %s IN_IMAGE OUT_IMAGE" % \
            os.path.basename( __file__ )
        sys.exit()

    inimgfn = sys.argv[1]
    if not os.path.isfile(inimgfn):
        print "Not Found %s" % inimgfn
        sys.exit()

    outimgfn = sys.argv[2]
    img = Image.open(inimgfn, "r")

    outimg = encrypt_image(img)

    if True:
        # 画像を保存
        outimg.save(outimgfn)
        print "Output %s" % outimgfn
    else:
        # 画像を表示して確認
        outimg.show()
        decrypt_image(outimg).show()

if __name__ == '__main__':
    main()
python imgcrypt.py image0.png image0_out.png
python imgcrypt.py image1.png image1_out.png
画像の難読化も Ruby でやらなかったのは、Ruby でアルファチャンネルつきのpngが出力できるかどうか不明だったので…。Python + PIL(Pillow)ならできることは知ってたので、そちらを使ってみた次第。

以下のような画像になった。とりあえず、コレを見てどんな画像か理解できる人は、まず居ないだろうと。

image0_out.png
image0_out.png

image1_out.png
image1_out.png


これを Ruby + DXRuby で読み込んで元に戻して表示する。

_imgdecrypt.rb
# 画像の難読化を解除して表示するRubyスクリプト
#
# DXRuby を使用

require 'dxruby'

$next = 1

# 乱数生成器(C言語のソレを再現)
def c_rand
  $next = ($next * 1103515245 + 12345) & 0xffffffff
  return (($next / 65536) % 32768).to_i
end

# 乱数初期化。種を渡す
def c_srand(seed)
  $next = seed
end

# 画像の難読化を解除
def decrypt_image(img)
  w, h = img.width, img.height
  outimg = Image.new(w, h)
  c_srand(0)
  h.times do |y|
    rx = c_rand()
    w.times do |x|
      outimg[x, y] = img[(x - rx) % w, y]
    end
  end
  return outimg
end

img0 = Image.load("image0_out.png")
img1 = Image.load("image1_out.png")
img0 = decrypt_image(img0)
img1 = decrypt_image(img1)

Window.loop do
  break if Input.keyPush?(K_ESCAPE)

  Window.draw(0,0, img1)
  Window.draw(0,0, img0)
end
ruby imgdecrypt.rb

以下のような結果に。

imgdecrypt.rbの実行結果


ちゃんと元の画像に戻せましたな。アルファチャンネルも有効になってる。(ポスト画像がアルファチャンネルを使用。)

もっとも、LLのソースを眺めることができる=どんな難読化をしてるのか容易に分かってしまうので、この手のソレをする意味なんてどの程度あるのか、という気もしますが。まあ、非プログラマーの方に御褒美画像をそのまま見せない、ということぐらいなら、使えるのかもと。

参考ページ。 :

乱数生成器(線形合同法)は、以下の記事をそのまま使わせてもらいました。

_Algorithms with Python / 乱数

周期性がある疑似乱数らしいけど、とりあえず Python と Ruby で同じ結果が出てくる簡素な疑似乱数が欲しかったので…。もっとも、Python の乱数(Random)もMT法らしいので、書き方次第で前述のソース内の乱数生成器部分は丸々削除できるかもしれませんが。

2012/12/30() [n年前の日記]

#1 [tv] 映像メディアとCGの基礎を一応最後まで視聴

5回目〜15回目まで見た状態。映像制作の基礎みたいな話が見れるのかなと思ったけれど、6回目あたりから完全にCGの基礎の話になってしまってちと残念。1回目から見ておけばよかった。番組の存在に気づくのが遅れた。失敗。

概要しか説明してないのだろうけど、それでもチンプンカンプンな箇所が多々あって、なんだか情けない。

#2 [anime] SAO最終回を視聴

面白かった。というのも、自分はこういう設定が学生の頃から好きで。 _マイクロチップの魔術師 というSF小説(? あちら版ラノベ?)とか、 _BOOM TOWN という漫画とか。そういうジャンルが好きなので、そのあたりの現代版として楽しんで見てました。

自分のような知識が少ない人間でもそこそこ分かる程度に噛み砕いた説明が出来ていたような気もするし。また、会話に含まれる単語と紐づいたビジュアルイメージをオーバーラップして視覚的にも説明を試みていたカットがチラホラ見受けられたりもしたし。こういうジャンルの小説の映像化は説明を要する用語が多くて難しいだろうに、細かいところで工夫してるように見えたので好印象。まあ、各回の演出家によって力を入れる場所が違ってた可能性もありそうだけど。

各エピソードについては、これは時代劇かもしれないと思いながら見てました。圧倒的に強い主人公に、暴れん坊将軍とか木枯し紋次郎とかそのへんのノリを感じたというか。もちろん、原作がそもそもそんな感じだろうけど。王道と呼べるほどではないとしても、現代でもウケる共通した要素が仕込んであるんだろうな、とか思いながら眺めたり。

最後に1期のOP曲が流れてなんだかグッと来たり。ガンダムOOもそういう終わらせ方だった記憶があるけど、やっぱりこういう締め方が自分は好きだなと再認識。

#3 [cg_tools] コミPo!体験版をもう少し試用

もうちょっと使い勝手を確認してみようと思ったので少し試用。…せっかくだから作ったソレもアップ。中身はさっぱり面白くないけどそこはほっといてください。所詮素人だし。

01
02
03
04
05
06
07

改めて眺めると中身のつまらなさに泣きたくなってきたけど、それはともかく。自分のような素人でも見た目ソレっぽいものがサクサク作れるあたり、やっぱり素晴らしいソフトだなと再認識。操作その他に慣れてないから1つ作るのに30分前後かかってしまっているけれど、慣れたらもっと短い時間で作れるんじゃないかと思えたり。もちろん、自分で絵を描いてたら、とてもこんな速度で仕上げられるわけもなく。コミPo!は凄い。このソフトには、可能性を感じる。

4コマ漫画の起承転結問題。 :

あくまで、「4コマ漫画を描いたことが無いけれど、描いてみたいと思い始めた初心者に対して」という話に過ぎないのですが。

漫画の中でも愚痴った(?)けれど、普段4コマ漫画を描いてない人に「起承転結」の枠を意識させるのはよくないよなと思えてきたり。一般人はネタを起承転結で考える訓練なんかしていない。訓練していない人に、いきなり「起承転結を意識しなさい」と強要したら、そもそもネタを考えるどころではなくなって、筆もさっぱり動かなくなる。せっかく「漫画を描く」という行為に興味を持ってくれた人達に、「4コマ漫画は難しい」「俺には描けない」と無意味な劣等感を持たせてしまう。これでは百害あって一利なしではないか、とすら思う。

起承転結で考える訓練を一般人はしていないけれど。逆に、一般人でも普段やってることは何だろうと考えると、それは、「起承承承…」時々「転」、という話の作り方じゃないかと思うわけで。誰かと会話をする時は、えてしてそういう流れで ―― 誰かの問いかけに答え、それに相手も答え、そのやり取りが続き、時々ボケとツッコミが入る、という流れになってる気がする。であれば、その流れでネタを考えてみたほうがいいのではないかと。そうすれば、ネタが浮かばない、各コマが思いつかないという事態だけは避けられそう。

面白い面白くないは別にしても、4コマ漫画っぽいソレが一切作れず門前払いを食らわせてしまうより、見た目だけでもソレらしいものが一応作れたほうがマシのような気がする。上手く行けば、その中から面白い漫画を描ける人が出てくるかもしれない。裾野が広くないと高みは生まれない。わざわざ裾野を狭くする必要はないだろうと。 *1

プロの漫画家さんの中には「起承転結が〜」と言い続けてる人も居るのだけれど。趣味で作ってみたいと思ってる人にまでソレを強要しなくてもいいよなと。そもそも商業4コマ漫画の構成だって、必ずしも起承転結になってない。漫画は本来もっと自由なものだったはず。

ということで、無駄な萎縮を招く「起承転結」なんて枠は意識しなくていいですよ、と言いたい気分になってきたのでした。というか自分に向かってそう言いたいです。

どこまでアプリが道筋を提示すべきなのか。 :

本当は、コミPo!の体験版にはそういうアレコレ(漫画の描き方云々)を解説する何かがついてたほうがいいんじゃないかと思ったりもするのだけど。「誰でも漫画が作れそう」と思わせながら、体験版をDL・起動したらいきなり4コマ漫画の原稿用紙だけ渡されました、みたいな感じでは、そりゃ挫折するよなと。潜在的顧客を振り落としちゃうよなと。

でもまあ、漫画を作れたような気分になる何かしらは、別にコミPo!じゃなくてもいいのだよな、とも思うし。また、例えば一太郎やWordなどのワープロソフトが日本語文章の書き方まで教えてくれるかと言えばそんなわけもないのだし、CGソフトにばかりそういうアレコレを要求するのもおかしな話だよなと思えてきたり。

いやいや、日本語文章の書き方は学校でも教えてもらってることだから喩えとしておかしいか。漫画の描き方なんて一般人は誰からも教えてもらってないし。TVゲームですら、起動すると遊び方を解説してくれるのだから、やはりそれなりのチュートリアルがあることで客の数を増やせる気がしてきた。もっとも、そのチュートリアルを作るにもお金はかかるし。投資した分リターンがあるかどうか、さっぱり読めないよなあ…。

具体的には何を追加すればいいのか、何があると効果的か、という問題もあるか…。どうすれば、漫画入門になるんだろう?

例えばの話。自分はプログラミングが一応できる人だけど、どうやってプログラミングを覚えたかと言えば、ベーマガのリストを打ち込んだ後で細部を勝手に改造したり、サンプルプログラムを改造してるうちにできそうなことが次第に見えてきたり、という感じだったわけで。

もしかすると漫画も同じだったりしないか。台詞だけ考えてください、とか、1コマ目は決まってるから2コマ目以下を考えてください、とか。サンプル改造や、テンプレを埋めることで、それが入門にならないだろうか。…まあ、そういうWebサービスが既にあったりもするのだけど。

*1: まあ、そこで飯を食べてる人にとっては、ライバルは一人でも多く潰せたほうが嬉しいのかもしれないけど。

2011/12/30(金) [n年前の日記]

#1 [pc] HDDの中身を整理中

滅多に参照しないであろうファイルを外付けHDDに逃がすべく整理中。

2010/12/30(木) [n年前の日記]

#1 [nitijyou] そこそこ雪が降ってきてる

今までもたまにチラチラ雪は降ってたけど。ようやくうっすら積もるぐらいに降ってきた。 CAt anime

#2 STARDRIVERを視聴

第1話からずっとHDDレコーダに溜めっぱなしだったのだけど。ようやく視聴。

最近のアニメは凄いことになってるなあ…。クオリティの高過ぎて、溜息しか出てこない。クラクラしてくる。

2009/12/30(水) [n年前の日記]

#1 [pc] Microsoft Wireless Keyboard 3000にシールを貼った

先日購入して現在常用中の Microsoft Wireless Keyboard 3000 なのだけど。このキーボード、ファンクションキーの視認性が非常に悪い。 故に、例えば、F6キーを押そうとした時は、 とにかく非常に骨が折れる。

このアホらしい状況を改善すべく、無駄にお綺麗な、買ったばかりのキーボードに、泣く泣くシールを貼ることにした。

キーに直接貼ってしまったのでは、シールの糊が溶けた際に、キーも指もベタベタするであろうと予想できたので、キーの周辺にのみシールを貼って、区切りを強調することにした。一般的なキーボードであれば、ファンクションキーは4つずつまとめられ、4+4+4の形で12個のキーが並ぶようになっている。であるから、EscとF1の間、F4とF5の間、F8とF9の間、F12と[F]Lockの間の4ヵ所に、修正テープを細く切って線のようにしたものを貼りつけてみた。

効果テキメン。パッと見で、何番目のファンクションキーか、すぐに判るようになった。

それにしても、何故ファンクションキー周りをこのようなデザインにしたのか、本当に理解に苦しむ。

このキーボードは、マルチメディアキー部分に関して、少し気のきいたデザインをしている。 それらのテクニック ―― 青い枠線で囲むとか、4つずつ隙間を空けずに配置するとか ―― をファンクションキーにも流用すれば、視認性・判別のし易さは向上して、何の問題も生まれなかっただろう。だが、実際にはそうなってない。

他のキーでやれていることをやっていないのは何故か。つまりはそこに思想があるからだろうと思える。このキーボードを企画して、デザインにOKを出したMicrosoftの人間は、おそらくファンクションキーを一切使わないようなPC操作こそが理想である、と考えているのではないか。そのようにでも邪推しなければ、これほどまでにファンクションキーが判りづらいキーボードは生まれてこないだろう。

だがしかし、一般的なアプリにおいては、ファンクションキーは有用なショートカットキーとして活躍する場面が多い。Windowsですら、他のキーとの併用で、ショートカットキーとして活用できる仕様が盛り込まれている。こんな状況下で、ファンクションキーを抹殺するようなデザインをするというのは、やはり理解に苦しむ。一体どんな思想を持って、この製品を世に生み出したのだろう。担当者の主張を一つ聞いてみたい気持ちにすらなってくる。

表面テカテカも気になる。 :

このキーボードは、キーの周辺がテカテカした素材・表面加工で出来ているのだけど。何故に、この素材・この表面加工にしたのだろう。気になる。

以前の工業製品であれば、人間の指が触る部分をテカテカした材質・表面にするなどとんでもない、指紋がついたら汚くなるだけではないか、という意見がほとんどだったと思うのだけど。どうも、AppleがiPodを出して以来、表面をテカテカにした製品が増えたように感じる。だが、個人的には、猫も杓子も考えなしにテカテカにしてる印象が拭えない。指紋が付くと、やはり見栄えは汚くなる。本当にそれでいいのだろうか。

iPodは、常にいつでも触れまくられ、叩きまくられるものだろうか。そうではないだろう。曲を切り替えたり等、たまにしか表面を触らないものではないのか。普段はポケットその他に突っ込まれて音楽を鳴らしてるだけではないのか。だが、キーボードは、明らかに扱いが違う。これほど触れまくられ、叩きまくられる機器はない。にもかかわらず、こんなテカテカな表面にしてしまって、本当にいいのだろうか。設計者・デザイナーは、考えが浅いのではないか。それとも、考えが浅いのは、そんな製品を買ってしまうユーザのほうなのか。

自分は、このキーボードを、表面がテカテカしてるという理由で選んだわけではない。ワイヤレスで、電池の持ちが良さそうで、Logicool K340よりカーソルキーがフツーで、等々実用性を期待して選択・購入した。「表面をテカテカにすると売れるんだ」などと、設計者・デザイナーに勘違いしてもらいたくない。テカテカした表面は、この製品のデメリットだと思う。こんな表面にされてしまったことで、見た目が余計に汚くなったではないか。

と思ったけど、「指紋が付いて汚くなった」と思ってる時点で、かなり見た目を気にしてないか?>自分。アレ?

…要するに、考えなしのテカテカ表面はやめてほしいという話なのです。たぶん。テカテカのほうが製造コストは安いのだ、という事情でもあるなら我慢しますけど。

2008/12/30(火) [n年前の日記]

#1 [prog] コピーライト文字の入力方法でハマる

あちらから送られてきたJavaソース中にコピーライト文字があって、それが文字化けをしてしまうため、検証用に別途テキストファイルを作成して…というところでハマってしまった。

まず、MS-IME上からの入力方法が判らない。WordやExcelを使った場合は _「(c)」と打ち込んだりすると件の文字になってくれる らしいが…。検索しまくったところ、「コピーライト」「ちょさくけん」「しー」と打ち込むと変換候補に出てくるらしい。あるいは、IMEパッドかの一覧から選ぶとか。

しかし今度は、エディタ上 ―― xyzzy や NTEmacs、サクラエディタ上で件の文字を出せないことに気づく。MS-IMEの変換候補にはリストアップされている・変換確定するまでは表示されているのだけど。Enterを押して確定した瞬間、単なる「c」の文字になってしまう。Webページ上から件の文字を探してきてコピー&ペーストしてみても、単なる「c」になる。うーん。

あちらさんではエディタに秀丸を使ってたことを思い出し、試しに秀丸をインストール・試用してみたり。emacs文化に触れてからというもの、たとえ試用であっても、秀丸はインストールすらしたくなかったんだけどなあ…。さておき、秀丸上では件の文字が入力できてしまった。うぐぐぐ。これは、特定エディタでのみ入力できる特殊な文字を使ってるということなのだろうか。

秀丸上に表示されたソレをコピーして、xyzzy に貼り付けてみたところ、その方法なら挿入することができたように見えた、が、保存すると単なる「c」になってしまう。SJISで保存されたファイルだから、件のUnicode文字は保存はできない、ということだろうけど…。ん? 変だな? するとあちらさんのソースでは何故その文字が残ってるのか。ソースはSJISファイルのはずなのに。

よくよく見てみると、あちらさんの送ってきたソース中のコピーライト文字は全角だが、こちらで秀丸に打ち込んだコピーライト文字は半角。どうやら自分、今まで違う文字を入力しようと試行錯誤していた模様。というか、あちらさんのソース中にあるコピーライト文字は、MS-IME上で「しー」で出した変換候補リストの、どの文字とも違っていて首を捻る。

そこではたと気がついた。コレはiアプリ用の固有文字、Windows上では外字として扱われている文字ではないのか。…当たりだった。外字中のコピーライト文字だった。SJISで 0xF9D6。DoJaエミュレータをインストールした際に一緒に設定される外字フォントのソレが使われていた。だからSJISでファイル保存しても文字が残っていたのか。

#2 [prog] Windowsに移植されたdos2unixはないのだろうか

改行コードをCRLF→LFに変換するツールが欲しいのだけど。検索してみても見つからない。batファイルから呼び出す関係上、パイプでファイル内容を渡してリダイレクトできるものが欲しいのだけど…。

dos2unix.exe で検索して見つかったモノは一応あるのだけど。 _こちらのソレ はオリジナルのファイルを上書きしてしまうし。 _こちらのソレ はDOS用、つまりWin32用のソレではないので、DOS窓のサイズがパカパカと変化・画面クリアされて、何かこう微妙なものが。

Microsoft Windows Services for UNIX (SFU)の中にも dos2unix.exe はあるらしいのだが。自分の環境は Windows XP Home なので利用できない。

dos2unix にこだわらず、Windows用の改行コード変換ツールを検索してみたけど、えてしてGUIで操作させるものが多く。batファイル中に含めてパイプで渡して云々、といった使い方ができるものは見当たらず。

nkfのオプション指定を気をつければ使えるみたい。 :

nkf -xLu じゃなくて、nkf -xSsLu にしたら、文字化けしないで済んだ。入出力するファイルはSJISであると明示的に指定しておけばそのまま通してくれる、ということなのかな。

sedも本当は必要ないっぽい。 :

batファイル中で、
sed -e "/^[ 	]*$/d"
と指定して空行を削除してるみたいなのだけど。
perl -p -e "s/^\s*$//"
でも空行を削除してくれるように見える。タブ文字を入れなくて済む分、こちらのほうが扱いが楽かもしれない。Active Perl を入れて、既に色々と処理をしているので、新規に sed を導入しなくても済むし。

できれば、改行コードの変換まで、Perlのワンライナーでやれたら楽なのだけど。

2007/12/30() [n年前の日記]

#1 [tv][movie] 武士の一分を鑑賞

TVで流れてた。

キムタク武士の奥さんのみなしご設定に対して「これは時代劇における萌え要素なんだろうか」となんとなく。それはともかくキムタクって結構演技、というか殺陣?が上手いんだなと感心。ホントかどうかは知らないけれど剣道をやってたとも聞くわけで、意外とそういう方向の作品が向いてたりするのかしら。

#2 [eclipse][emacs] eclipseのインクリメンタルサーチが今一つ使いづらい

xyzzy や Meadow では、インクリメンタルサーチ(C-s や C-r)のキーを押した後に C-w を押すと、カーソル位置の単語が取り込めて検索できるのだけど。eclipseにそういう機能、もしくはプラグインはないのかなと。目の前に、既に打ち込んだ単語がデジタルデータとしてしっかり存在してるのに、同じ文字列を再度人間が打ち込むってのは無駄な作業じゃないのかと思ったりして。

検索してみたけれど、どうもそういうものは見かけず。様々な場面で文字列を補完できることが多い eclipse にしては、なんだか妙な感も。

emacs(Meadow)でカーソル行もしくはリージョンを上下移動できないものか。 :

xyzzy の _行セレクションを上下に移動 を、うっかり Meadow 上でも使おうとしてしまう時が。>自分。いや、eclipseでも同種の機能が実装されてるので、ついつい Meadow でもそのノリで操作しちゃうのだけど。

検索してみたけれど、どうもそういう elisp を書いてる人は見かけず。emacs系は、文化的に何か違うのかしら。そういやそもそも画面スクロールが標準状態では半ページずつだったりするし。>emacs。

もしかしてemacs文化圏は、ターミナル等から操作する ―― 通信回線を経由する故に比較的反応が鈍くなりがちな状態で操作する、そんな場面をかなり想定しているので、リアルタイムに目の前でどんどん変化していくような操作や機能が実装されにくい・あえて実装しようとは思わない人が多い、てなところがあるのかなと想像したけどちょっと自信なし。

待てよ。キーのタイピング回数は、どのやり方が一番少ないんだろう…。例えば3行を2行上に移動することを考えると…。
xyzzy
S-Down, S-Down, S-Down, M-S-Up, M-S-Up
Meadow
C-SPC, Down, Down, Down, C-w, Up, Up, C-y
emacs系のほうが多いな。なるほど回りくどいと感じるのはこのせいか。…というわけでもないよな。たぶん。

目の前でリアルタイムに変化していくという、そのこと自体に意味がありそうな気がする。例えばTVゲームもそうだろうと。1時間近く画面に集中できるのは、目の前でユーザの操作によって、次々に情報が変わっていくから ―― そこにインタラクティブ性があるからではないのかしら。であれば、これからその手のツールを作る人は、そういう視点をどこかに持ちながら仕様を決めると、快適操作を実現できたりするのかもしれない。てな妄想を。

つーか vi にしろ emacs にしろ既にインタクティブなツールじゃねえかと言われそうなんだけど、さらにその上のレベルのインタラクティブ性ってのが存在するのではないのか、てな気がしてきたわけなんですがちょっとそこらへん自分の中でも考えがまとまってないです。

2006/12/30() [n年前の日記]

#1 [iappli] イベントをユーザが任意に利用できるように仕様変更中

頭の中でああしてこうしてと考えてるうちにわけがわからなくなってきた。…寝る。

相手先は何日頃まで仕事中なのだろう。いくらなんでも正月ぐらいは休むだろうと想像してるのだけど、もしかすると休み無しだろうか。バイナリが出来たとしてもどのタイミングで送ればいいのかちょっと判らない。まあ、本番用のサウンドデータが届いて、それに差し替えてから送る、という感じでいいのかもしれないのだけど。

2005/12/30(金) [n年前の日記]

#1 [pc] K6-200MHz の PC って何かに使えないだろうか

掃除をしようと部屋を眺めていて、K6-200MHz の PC が目に入った。コレ、何かに使えんかな。無理か。

2Gとか4GのHDDって何かに使えんだろうか :

無理か。DVD-R 以下の容量だしなぁ。

この記事へのツッコミ

Re: K6-200MHz の PC って何かに使えないだろうか by otsune    2006/01/01 16:09
CFかCD-R起動の自宅Webサーバーぐらいなら実用レベルかもしれない。
Re: K6-200MHz の PC って何かに使えないだろうか by けいと    2006/01/01 17:04
HDDのみならスワップ/テンポラリ専用ドライブ。

いまどきのHDDより格段に読み書き能力が落ちると思うので
足を引っ張るのは確実と思われますが、
フォトショップやらイラストレーターやら動画編集やら
ヘビーなデータを扱うようなものは
Windowsのページファイルと同一ドライブじゃないほうがいいみたいなので。
Re: K6-200MHz の PC って何かに使えないだろうか by mieki256    2006/01/13 00:49
> CFかCD-R起動の自宅Webサーバーぐらいなら実用レベル

hnsのように動的生成をするとなるとスペックは足りないけど、
たしかに静的ページならそこそこ使えそうですね。>200MHz程度のCPU。

とはいえ既に自宅サーバを設置してるしなぁ…。
誰かこんなスペックでも欲しい人とか居ないかしらん。
Re: K6-200MHz の PC って何かに使えないだろうか by mieki256    2006/01/13 00:56
> HDDのみならスワップ/テンポラリ専用ドライブ

あ。なるほど。それはたしかに効果がありそう。
と思ったけど自分のPCは既にHDDを2台つけてるから
これ以上はつけたくないな…。

なんかもったいないですな。>HDD or CPU。
命尽きるまで有効活用してやりたいものだけど、
活躍の場は本当に限られてるというか。
なにかこう、新たなリサイクル?の場が生まれないものか…。
Re: K6-200MHz の PC って何かに使えないだろうか by けいと    2006/01/14 22:21
> 200MHz程度のCPU

我が家では
Pen2/450MHzのPCとPenPro/200MHzのPCが
廃棄処分を待っておりますが…

メモリとか古いHDDとか古いCDドライブとか
結構てんこ盛り気味になってるなぁ…

旧ゲートウェイのマシンなのでPCリサイクルの行き場がないorz
Re: K6-200MHz の PC って何かに使えないだろうか by mieki256    2006/01/15 02:35
> Pen2/450MHzのPCとPenPro/200MHzのPCが廃棄処分を待ってる

わー。やはりそのあたりのスペックは、余る運命なのですな。
CDドライブ、ウチも余ってますなぁ。アレは使い道ないですよね…。

でも、450MHz のほうは、まだネット閲覧ぐらいには使えそうな。
ていうか今コレを打ってるPC(サーバ機)は Pen3-500MHz だったりして。
このへんが体感的には限度かな、という感も。

#2 [game][cg_tools] _3Dゲームファンのための「ワンダと巨像」グラフィックス講座

スゴイなぁ…。やってることもスゴイけど、惜しみなく公開してるその姿勢もスゴイ。 _(via fladdict.net blog: 3Dゲームファンのための「ワンダと巨像」グラフィックス講座)

#3 [web] しばらく巡回してなかった間にあちこちプライベートモードになってるような

何か事件でも起きたのかしら。

#4 [zatta] _import otsune from Hatena - オタにとってヒゲは「伸びるもの」であって「伸ばすもの」ではない

# 髪は「伸びるもの」であって「整えるもの」ではない
# 服は「着られるもの」であって「着こなすもの」ではない
# 鞄は「物を入れるもの」であって「着こなしの一部」ではない
# モテは「恨んで忌み嫌うもの」であって「憧れて目標にするもの」ではない

import otsune from Hatena - オタにとってヒゲは「伸びるもの」であって「伸ばすもの」ではない より

うわ。判りやすい。

#5 [web] _ARTIFACT@ハテナ系 - はてな学級会「銀河通信には儀礼的無関心を行使すべきか」

最近ブログを使っていても、こっそりつぶやきたい。多数の人に読まれたくないという人が増えてきています。こういった欲望はサイコドクターによって『銀河通信』の名前が与えられてます。

ARTIFACT@ハテナ系 - はてな学級会「銀河通信には儀礼的無関心を行使すべきか」 より

「銀河通信」なる名称がついたのか…。 _(via del.icio.us/otsune)

#6 [anime] _ジブリ新作「ゲド戦記」来夏公開 宮崎吾朗氏初監督

_世界一早い「ゲド戦記」インタビュー 鈴木敏夫プロデューサーに聞く
_(via del.icio.us/otsune)

知らなかった。変わったことをするなぁ。

手塚治虫といい。石ノ森章太郎といい。そして、宮崎駿といい。この国では娯楽作品の制作ですら世襲制なのだろうか。とはいえ才があるのに使わないのももったいない話なのでそれはそれで。ただ、機会を均等に与えている社会なのかどうかは気になるところ。ではあるけれど、偉い監督の息子さんということであれば、若手監督が作画監督から「ジブリらしくない」と文句を言われて追い出されることもないのだろうし。そのへんもまた、親から与えられた能力の一つ、というよりジブリというスタジオの特殊性故に要求されてしまう条件だったりするのかもしれんなどと思ってしまったり。

2004/12/30(木) [n年前の日記]

#1 [nitijyou] 雪が積もってるなぁ

25cmぐらい積もった、との親父さんの弁。たしかにそのくらい積もってそう。

#2 [cygwin] 初期設定中

_Cygwin JE 暫定版 をインストール。できたと思う。たぶん。

_Cygwinのインストール&設定方法 :

_cygwinの初期設定をしてくれるスクリプト :

実行したら 'You are not "Administrator"' と表示されてスクリプトが終了してしまった。以前利用したときは、このメッセージは出なかったような。うーむ。Administrator というのは、WinXP の Administrator かしら。一応管理者権限を持ったユーザ(?)でログインして動かしてるのだけど、それじゃダメなのか…。WinXP Home の場合、セーフモードじゃないと Administrator でログインできないし。さて、どうしたもんか。

k-square.cygsh を眺めたら、id -G が 544 じゃない場合、件のメッセージが出るらしい。/etc/passwd か /etc/group を変更するのかしら。どう書き換えたらいいものか。

とりあえず、件のスクリプト実行の問題は置いといて、 _こちらのページ に書かれた内容を手作業で書いたら、man ls などが日本語で表示されるようになった。が、ls の出力が euc で文字化けする。メッセージカタログとやらを euc → sjis 変換しないとダメらしい。

_ck を使えば、eucやsjisの混在表示もできるので、当面誤魔化せそうだけど。しかし、rxvt等では化けてしまうわけで。うーむ。

_cygwinの文字化けをmoconv.shで解決 :

これか。これでメッセージカタログとやらをsjisに変換できる。ていうか、 _以前、 自分で触れてた。すっかり忘れてる。

実行してみた。エラーが出る場合もあるらしいけど。ウチの環境では幸いエラーは出なかった。ls の出力が日本語になってくれた。上手くいってるみたい。ありがたや。

とりあえず、当面はこれで充分かな…。

いくつかインストールに失敗してるものがあるような :

_Cygwin/インストール - discypus で見かけた、
cygcheck -c | grep -v OK
をやってみたところ、いくつかインストールに失敗してた。件のページどおり、Reinstall。

#3 [cygwin] _ターミナル・エミュレータによる Cygwin コンソール - CygTerm

_Cygwin のコンソールを TeraTerm にしてみるメモと .screenrc もメモ。
_CygTerm のセットアップ

CygTerm を使ってみた。インストールには、Cygwin JE 暫定版 を利用。

関連ページを探すと、CygTerm + TeraTerm Pro の組み合わせが多いようにも見受けられる。putty を利用できないかと思ったけど。その場合、 _表示に関して若干不具合があるとの情報 を見かけたので、素直に TeraTerm Pro をインストール。なかなか軽快な動作。

cygterm.exe へのショートカットファイルの作り方がわからなくて悩んだり。ただ作っただけでは、/.bashrc 等が反映されない。最後の行に、bash --login -i -c cygterm を入れたbatファイルを作って、それを呼び出せば期待通りの動作になるけど。最小化されたウインドウが残ってしまうあたりが気になる。ショートカットファイルに、x:\cygwin\bin\cygterm.exe -s '/bin/bash --login -i' と設定したら、cygterm.exe をいきなり呼び出しても反映されるようになった。ように見える。が。これで正しいかどうかは自信なし。

#4 [cg_tools] OPTPiX 1.x と現行のOPTPiXの違いが知りたいのだけどな

cko.exe の背景画像を作るために、減色ツール OPTPiX 1.20 をインストール。1.x の最後の版は 1.31 らしい。DLし損ねたので、正規ユーザでありながら 1.31 は持ってないわけで。ネットのどこかに残ってないものだろうか。

現行版は、 _OPTPiX webDesigner 2.71 。現行版と言っても2年前の版らしい。メーカは業務用減色ツールに注力してるのか、一般ユーザ向けの製品は、既に放置状態のようにも見える。この状態では、1.x と現行版との減色処理結果の違いについて、情報公開の見込みはないだろうな。かくして、買い替えのための検討すら難しい状況なのでした。

#5 [tv] 『白い巨塔 総集編 最終章』を見た

原作も、脚本も、演出も、役者の演技も、文句のつけようがない作品だったなぁ。

『本編を未見の人が、総集編だけ見て話がわかるか』等、総集編としての出来はどうだったんだろう。 *1 本編を見てしまった自分には、ちょっと判断がつかないのでした。
*1: ターゲットが、『本編を見た人』だったら、クリアしなければいけない問題は少なくなるとは思うけど。

#6 [comic] 『王国の鍵』紫堂恭子(著)の最終巻を読んだ

_6巻。 幼い王子が王として目覚めていくその過程の一部をイメージさせてくれるあたりが良かった。成長モノってやつなのでしょうか。

アニメ化しないかな。無理か。ちょっと弱いか。そのうえ絵柄も難しそうだし。

#7 [anime] プラネテスの特集が流れるらしい

紅白歌合戦の裏。NHK教育で。紅白に飽きた人がチャンネルを変えて、「アレ? なんでこんな時間にアニメなんかやってるんだ」→ぼんやり眺めてみる→「結構面白いな!」となることを期待。…そんな展開はありえないか。紅白見てる人は、ダラダラと紅白を見続けそうな気もする。

考えてみれば、あれだけよく出来た作品なのに、もったいないな。放映時間が、BS放映では土曜の朝だったし、地上波放映では深夜だもの。DVD販売のためのCMと考えても、ちともったいないかも。でもないか。露出が少ないほうが、かえって盛り上がったりするときがあるのかもしれんし。

2003/12/30(火) [n年前の日記]

#1 [windows] xlsファイルをメールに添付して送るのはどうなんだろう

知人から、年末年始の挨拶メールが送られてきたのだけど。xlsファイル(Excelデータファイル)が添付されてた。…企業関係ではそういったやり取りが当たり前なのかな。なんとなく、以下の2点でマズイ気が。
  1. 全ての人がExcelを購入・導入してるわけではない。Excelを持ってない人は、添付ファイルの中身を見れない。
  2. MS-Office製品(Word、Excel等)のデータファイルは、マクロウイルスが混入してる可能性がある。危険。
もっとも、1に関しては、 _Microsoft Excel Viewer 97 が無償配布されてるので、それを導入すれば、Excelを購入しなくても見れるのだけど。2に関しては自信無し。ウイルス対策ソフトがメールの中身を厳しくチェックをしてれば問題回避できるかもしれないし、そもそもマクロウイルスが何かの拍子に混入する可能性がどれだけあるのか、そのへん詳しく知らないのでありますが。

添付xlsファイルを開いてみたけど、中には年末年始の営業日が表になって記載されてた。送り主は、どんな文書もExcelでレイアウトする方なので、 xlsファイルを添付するまでの思考の流れもわからないではないけど。この程度の内容なら、プレーンテキストで充分だし、レイアウトに凝りたいとしても、HTMLメールで充分じゃなかろうか。

とはいえ、そういった事を指摘するのも気が引ける。それでなくても、「どうでもいい細かい事をチクチク指摘してくる面倒臭い人」といった印象を、既に持たれていてもおかしくない気もするし。…企業の顧客層を考えれば、やっぱりどうでもいい問題かもしれん。基本的には爺さん婆さん相手の商売だろうし。…逆にマズイか。xlslファイルを見れる状態にまで持っていける人がどれだけ居るのだろう。購入したメーカ製PCに、Excelがプリインストールされてるならともかく。…別にどうでもいいか。受信者は、「なんだコレ。読めないぞ」と、該当メールを削除して終わり、だろうし。別に重要な情報が入ってるわけでもないし。

#2 [debian] Mozilla Firebird 0.7を入れた

sidのmozilla-firebirdが落ちてくるようになった。早速、apt-get install mozilla-firebird でインストール。

パーミッション :

拡張関係も入れたけど、関連ファイル *1 のモードを変更しないと一般ユーザで動かせないので注意。644か666に変更。

たしかにこのへん、初心者はハマる事間違い無しかも。ていうか自分が数ヶ月前に見事ハマってたわけですが(爆) フォントファイル云々でハマってた事をカキコしてくれた方と、手を取り合って泣きたい気持ちであります。

関連ファイルを検索して、事前に、「このファイルのモードが危ないよ。これじゃ動かないよ」と教えてくれるスクリプトでも同梱されてればいいのに。何がマズイのか教えてくれないんだもんなぁ>Mozilla本体。

タブセッションが保存できない :

_Tabbrowser Extensions 1.10.2003122901 を入れたのですが。タブセッションが保存できませんな。今回初めてその存在に気付いたので、以前は利用できていたのか、そのへんは不明。ていうか、ある項目のオプションを弄ると、全く関係無いオプション項目も変化してるように見える。どこかで何かが重なってる、あるいはズレてるのかな。一応、FAQにあるように、~/.phoenix/中のtabextensions.rdfは削除してみたんだけど、残念ながら変化無し。謎。

文字がおかしい :

Mozilla 1.5もそうなんだけど、ところどころ、漢字の形がおかしい。なんだか別のフォントが選ばれてるみたい。とは言っても、全てがおかしいわけではなく、一部がおかしいので、パッと見では気がつかないような。「名」とか「加」とかが変ですよ。…それと、時々、16進数が出てくる。フォントを変更しても出てくるのですが。なんでだろ。

*1: /usr/lib/mozilla-firebird/chrome/以下や、/usr/lib/mozilla-firrebird/default/pref/以下あたり、だったかな。

この記事へのツッコミ

Re: Mozilla Firebird 0.7を入れた by otsune    2004/01/03 20:32
http://kengo.preston-net.com/archives/001069.shtml
複数開いていたタブを次回の立ち上げでも再現するFirebirdでの方法
とか?
Re: Mozilla Firebird 0.7を入れた by mieki256    2004/01/08 02:45
>複数開いていたタブを次回の立ち上げでも再現するFirebirdでの方法
そうなんです。コレも期待してたのです。が、動作しない…。

タブセッションの保存をすれば、Firebirdを終了しない限りにおいては、
それらタブセッションの情報が残ってるように見えるのですが。
しかし、Firebirdを終了すると、跡形もなく消えてしまう。
…Linux、あるいはDebianだけの問題なんだろうか…うーん。

2002/12/30(月) [n年前の日記]

#1 お見舞い

祖母のお見舞いに行ってきました。
インフルエンザに感染しており、肺炎を起こしてるそうです。
2、3日で垰を越すであろうとのこと。なんとか越えてほしい…


コミケ-M1、何事もなく終わったようで良かったですね。
「オタク連中は過剰反応し過ぎ」等の意見もあるようですが、それは誤りでしょう。
明石歩道橋事故のように、事故の可能性が予見されていながら、
何も手を打たずみすみす悲惨な状況を招いて後悔するより、
準備万端整えて、何事もなく終わる方が良いわけで。
イベントを楽しみにしているのはどちらも同じ。
双方共にイベントを成功させる為、お互い協力しあって対策を打っていくことは、
けして誰からも否定される筋合いのものではないですよね。

なんてコミケに行ってないオイラが語る事ではないですが (;´Д`)
友人達の打ち上げ飲み会は盛り上がっただろうか。
あー、参加したかった…しかし先立つモノがなく…(爆)

2001/12/30() [n年前の日記]

#1 ナディア

総集編見てると、ナディアって面白そうに見えますね。
樋口さんが総集編の監督してたらしいけど、そのせいなんだろうか。
映画版も総集編みたいなもんだけど、あっちはつまらなかった。
人材って大事。

途中でテープが切れててガックリ。
でも、「俺はまだ〜」の衝撃的シーンが見れたからいいか。


ようやく少しはSWが入ってきたような。
下絵描き描き。


あ。コミケだったのか。
皆さん、楽しまれたでしょうか。

2000/12/30() [n年前の日記]

#1 水難のその後

TV大丈夫っぽい。

年賀状の絵柄、考えないとだなぁ <今頃?

掲示板を動かしてるサーバがガンガン落ちてる模様。
まいっちゃうなぁ。

1999/12/30(木) [n年前の日記]

#1 (NoTitle)元禄繚乱の総集編を見...

元禄繚乱の総集編を見てたのですが、好きだったエピソードがほとんど削られててガッカリ。といっても時間内に収めるためあらすじを追うぐらいしか出来ないでしょうから仕方無いのですが。

なんかここんとこTVしか見てないような気がする。むぅ。

以上、20 日分です。

過去ログ表示

Prev - 2019/06 - 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