mieki256's diary



2023/10/13(金) [n年前の日記]

#1 [prog][windows] CUIファイラー lf を試用

lf という、ターミナルで動作する(CUI/CLIで動く)ファイラーを、Windows10 x64 22H2 上で試用してみた。Windows上では、DOS窓(cmd.exe)、もしくは、Powershell上で動く。昔、NEC PC-9801を触っていた人であれば、FD や FILMTN みたいなソフトと伝えればジャンルが分かりそう。

_GitHub - gokcehan/lf: Terminal file manager

Go言語で書かれたファイラーらしい。Ranger という、Python で書かれたCUI(CLI)ファイラーから影響を受けている。

以前もインストールしてたっぽいのだけど、使い方どころかインストールしたことすら忘れてたので、今回メモしておくことにした。

インストール :

github から入手。

_Releases - gokcehan/lf - GitHub

リリース版の r31 を入手。Windowsの場合、lf-windows-386.zip と lf-windows-amd64.zip の2つがある。今回は32bit版(386版)を使ってみた。

解凍すると、中に lf.exe だけが入っている。パスが通っているどこかしらにコピーして、インストールは終了。

使い方 :

DOS窓(cmd.exe)を開いて lf と打ち込めば起動する。
  • カーソルキーの上下で、同階層の中で移動。
  • カーソルキーの右で、現在カーソルがあるフォルダ内に入る。
  • カーソルキーの左で、親フォルダに移動。
  • qキーで終了。
  • $キーで、一番下にシェル(Windowsの場合、cmd.exe)が開く。例えば $ を打った直後に ruby hoge.rb 等、DOS窓上でコマンドやプログラム名を打ち込むのと同様の入力をして実行したりできる。

lfcd.cmd を導入 :

qキーを押して終了すると、起動時に居たディレクトリ(フォルダ)に戻ってしまう。開いていたディレクトリをカレントディレクトリにしつつ終了するようにしたい。そんな時は lfcd.cmd を使える。

_lf/etc at master - gokcehan/lf - GitHub

lfcd.cmd を入手して、パスの通ってる場所に置いてから、lfcd と打って実行すると、lf の終了時に開いていたディレクトリをカレントディレクトリにしながら終了できる。

ちなみに、DOS窓(cmd.exe)ではなく Powershell上で使う場合、おそらく lfcd.ps1 が使えそうな気がする。

設定ファイルの在り処 :

設定ファイル lfrc を編集することで、キーに何を割り当てるかを変更できたりするらしい。

_lf command - github.com/gokcehan/lf - Go Packages

上記ページによると、設定ファイル lfrc は、Windows の場合、C:\Users\<user>\AppData\Local\lf\lfrc にあることになっているらしい。

例えば、デフォルトでは eキーを叩くとエディタ(vim)が開く設定になっているけれど、以下のように書き換えればメモ帳が起動するようになる。はず。
# map e $vim %f%
map e $notepad %f%

プロセスが残り続ける :

DOS窓(cmd.exe)上で lf を使っていると、時々何かの拍子にDOS窓自体が落ちてしまった。実際には cmd.exe の下にぶら下がった状態で lf.exe のプロセスが残り続けて、しかしデスクトップ上には出てこない状態になる。

例えば lf を実行中、任意のテキストファイルの上で e キーを押すと、本来ならエディタとして vim が開くはずだけど、出てこない。DOS窓が消えて、プロセスだけが残り続ける。ちなみに残り続けるプロセスには -server のオプションがつけられている状態。

Windwosターミナル上で lf を実行してみたところ、そちらなら eキーを押してもエディタが開くし、エディタを閉じてもWindowsターミナルに戻ってきた。また、PowerShell 7.3.8上で lf を実行してみたところ、そちらも同様に落ちなかった。

どうやら cmd.exe 上で動かすと正常動作してくれないようだなと…。いや、Windowsターミナルから cmd.exe を呼んで動かす分には正常動作するわけで…。よくわからん…。

その後も試用していたら、qキーを押して終了したつもりが、その後も lf.exe のプロセスが残り続けることに気づいた。これは、DOS窓でも、Windowsターミナルでも、PowerShellでも、どこで動かしても同じようにプロセスが残る。

謎のプロセスが残り続けるのは気味が悪い。そもそも、cmd.exe 上で使えることを期待して試用してみたのに、正常動作しないのでは…。

関連情報を探していたら、わざとサーバ的なプロセスを残しているらしいと分かってきた。何故にそんなことをするのか…。いやまあ、なんか理由があるっぽいけど。

_'q' quit backgrounds the process on windows, lf.exe remains running - Issue #106 - gokcehan/lf - GitHub
_lf -server doesn't quit automatically - Issue #177 - gokcehan/lf - GitHub
_lf command - github.com/gokcehan/lf - Go Packages

とりあえず、サーバを落としたかったら以下のどちらかを打て、とのこと。
lf -remote "quit"
lf -remote "quit!"

打ってみたら、たしかに残ってたプロセスが終了してくれた。"quit" では消えなかったプロセスも、"quit!" なら消えてくれた。"quit!" は、接続してるクライアントにも "quit" を送ってから、サーバも "quit" する模様。

#2 [prog][windows] CUIファイラー vifm を試用

vifm というCUI(CLI)ファイラーが気になったので、Windows10 x64 22H2上で試用してみた。DOS窓の中で動かすことができる。

インストール :

_Vifm
_Vifm - Downloads

vifm-w32-se-0.13-binary.zip を入手して解凍。

今回は D:\home\bin\vifm\ に入れておいた。D:\home\bin\vifm.bat で、PATH の先頭に件のディレクトリを追加して vifm.exe が起動するようにしておいた。

vifm.bat
@set VIFMDIR=D:\home\bin\vifm
@set PATH=%PATH%;%VIFMDIR%
@echo add path %VIFMDIR%
vifm.exe

使い方 :

以下を参考にして試用。

_ターミナルで動くviライクなファイルマネージャーvifmの便利な利用方法 [インフラエンジニアのPC環境]

基本的には vi(vim) と似たようなショートカットキーで使えるらしい。vim はコマンドを打つ時に「:」を打って、その直後にコマンド名を打ったりするけれど、vifm もそんな感じで、「:」を打ってからコマンド名を打つっぽい。ちなみに vi と言えばお馴染みの hjklキーによるカーソル移動も使える。

自分がよく使いそうなところだけ引用させてもらってメモしておこう…。
:q終了
ESC / C-c動作キャンセル
:sh現在開いているディレクトリをカレントディレクトリとしてシェルを開く
Up / Down / j / kカーソル上下移動
Left / h親ディレクトリへ移動
Right / l / Enterディレクトリに入る or ファイル実行
gg一番上へ移動
G / :$一番下へ移動
Space / TAB反対側のペインに移動
:cd入力したディレクトリに移動。パスの区切り文字は「\」ではなく「/」であること。
/検索
:marksブックマーク表示
mキー → 任意のキーブックマーク登録
「'」(Shift+7) → 登録されているキーブックマーク呼び出し

作業の流れとしては以下のような感じで使えそう。
  1. 目標のディレクトリまでカーソルキーを使って移動して、
  2. :sh を打って、そのディレクトリでシェル(cmd.exe)を開いて、
  3. いつもの調子で何か作業して、
  4. exit でシェル(cmd.exe)を抜けると vifm に戻ってくる。
  5. 作業が終わったら :q で終了。

設定ファイルの在り処 :

C:\Users\(USERNAME)\AppData\Roaming\Vifm\ の中にあった。以下がそれっぽい。
vifminfo.json
vifmrc

#3 [prog][windows] CUIファイラー jFD2 を試用

CUI(CLI)ファイラーを探していたら、jFD2 というファイラーの情報を見かけた。Java で書かれたFDクローンらしい。Windows10 x64 22H2上で試用してみた。

_jFD2 for Windowsの詳細情報 : Vector ソフトを探す!

jfd2_beta19.zip を入手して解凍。中に入っていた jfd2.exe を実行。

DOS窓(cmd.exe)とは異なるウインドウが新規に開かれて、その中に FD っぽい情報が表示された…。DOS窓の中で動くファイラーではなかったのだな…。

まあ、FDに慣れていて、FDから離れられない人には便利なのかもしれない。自分の場合はDOS窓の中で動くファイラーが欲しかったので、希望とはズレていた。アンインストールしておいた。

#4 [prog][windows] CUIファイラー goful を試用

CUI(CLI)ファイラー goful を Windows10 x64 22H2上でインストールしてみた。というか昔インストールしてたっぽいけど、インストールしていたことすら忘れてたのでこの際メモしておく。

インストール :

_GitHub - anmitsu/goful: Goful is a CUI file manager written in Go.
_Releases - anmitsu/goful - GitHub

リリースページから、以下のどちらかを入手。
goful_windows_i386.zip
goful_windows_x86_64.zip

今回は64bit版の、goful_windows_x86_64.zip を入手して解凍。中には以下の3つのファイルが入っていた。
 goful.exe
 LICENSE
 README.md

パスの通った任意の場所にコピー。DOS窓上で、goful と打てば起動する。

使い方 :

使い方と言うか、ショートカットキーは、README.md を眺めれば分かるかなと…。

_goful/README.md at master - anmitsu/goful - GitHub

他のCUIファイラーと違うのは、カーソルキーの左右で、左ペイン、右ペインにカーソルが移動すること。カーソルキーの左右で、親ディレクトリに移動したり、ディレクトリに入ったりするわけではない。
  • 親ディレクトリへの移動は Backspace か uキー
  • ディレクトリに入るのは Enterキー

他に使いそうなのは…。
~ホームディレクトリに移動
\ルートディレクトリに移動、のはずだけど日本語Windows環境では反応しなかった
d移動したいディレクトリパスを入力できる
;シェルを開ける
C-gキャンセル
q終了

; でシェルを開いた際は、TABキーでファイル名補完が使える。例えば、; でシェルを開いて、「ruby 」と打ってからTABキーを叩くと、今開いてるディレクトリ内の一覧が表示されるので、カーソルキーでファイル名を選んでEnterを叩けば、選んだファイル名が入力されて「ruby hoge.rb」になる。

カスタマイズができないっぽい :

「このファイラーは設定ファイルが存在しない」
「カスタマイズしたい時は main.go を書き換えろ」

と書いてあるように見えた。

豪快過ぎる…。ブックマークの登録すらできないのか…。いや、ソースファイルを書き換えてビルドしなおせということだろうけど。豪快だなあ…。

終了時に変なプロセスが残ったりしないあたりは良い感じだなと思ったけれど、よく使うディレクトリを気軽に登録できないのはさすがに厳しい気がする。いやまあ、「そんなのはビルドし直せ」と言われて終わるんだろうけど。豪快だ…。

#5 [prog][linux][windows] CUIファイラーについて少しまとめ

今回、Windows10 x64 22H2上で以下のCUI(CLI)ファイラーを試したけれど。
_GitHub - gokcehan/lf: Terminal file manager
_Vifm
_GitHub - anmitsu/goful: Goful is a CUI file manager written in Go.

普段、Linuxのターミナル上では、Ranger というPythonで実装されたファイラーを使ってたりする、とメモ。

_GitHub - ranger/ranger: A VIM-inspired filemanager for the console

この ranger が Windows上でも使えれば話は早いのだけど、使えないのだよな…。あくまで *NIX用のファイラーだそうで…。まあ、Windows上でも、WSL2 や MSYS2上なら使えるのかもしれんけど…。

さておき。lf は cmd.exe 上で動作が怪しいし、goful はカスタイマイズができないしで、今のところ vifm 一択かなという印象。

あふでもいいのかもしれない :

考えてみたら、自分のやりたかったことは…。
  1. pik か uru で Ruby のバージョンを変更して、
  2. 色んなフォルダに入ってる .rb を、ruby hoge.rb で実行して動作確認。

この程度の作業だったので、普段使ってるあふ(afxw.exe)でも済むのかもしれない。

  1. pik か uru で Ruby のバージョンを変更して、
  2. あふ(afxw.exe)の場所を PATH に追加して、
  3. DOS窓からあふ(afxw.exe)を実行して、
  4. あふで色んなフォルダを覗いて、
  5. .rb を ruby "$P\$F" で実行。
これでいいんじゃないかな…。

もっとも、DOS窓上で何か表示してすぐ終了するRubyスクリプトの場合、実行するとDOS窓が一瞬開いてすぐ閉じてしまうので、結果が見えないか…。また、エラーメッセージが出ていてもDOS窓が閉じてしまうからメッセージ内容が分からない問題もあるか…。でもまあ、確実に動作することが分かってるスクリプトであれば、これでも問題無いか…。

2023/10/14追記 :

Windows上で動作する、Far Manager というCUI(CLI)ファイラーも見かけた。後で試用してみるつもり。

_Far Manager Official Site : main

#6 [ruby][windwos] Windows10 + Ruby 3.2.2 x86上で Gosu をインストールした

Windows10 x64 22H2 + Ruby 3.2.2 x86 (RubyInstaller2 DevKit付き) 上で、2Dゲーム制作ライブラリ Gosu がインストールできるのか試してみた。

Ruby 3.2.2 をインストール :

Windows上での Rubyインストールには、RubyInstaller2 を使った。

_RubyInstaller for Windows
_Downloads

一般的には、64bit OS上なら 64bit版 Ruby をインストールするものだろうけど、ゲーム制作の場合、使用する DLL が32bitだったりすることもあるので、今回は32bit版(x86版)をインストールしておいた。

rubyinstaller-devkit-3.2.2-1-x86.exe を入手してインストール。最後に、DOS窓が開いて MSYS2 (DevKit) のインストールもされる。「数字を入力せよ」っぽい感じのメッセージが出てくるけれど、とりあえず Enter を叩いておけばいいらしい。

全部で1GB以上になるファイルがインストールされた。Ruby のバージョンを確認。
> ruby --version
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [i386-mingw32]

Gosuをインストール :

gem を使って、Gosu をインストール。
gem install gosu
> gem install gosu
Fetching gosu-1.4.6.gem
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
Successfully installed gosu-1.4.6
Parsing documentation for gosu-1.4.6
Installing ri documentation for gosu-1.4.6
Done installing documentation for gosu after 0 seconds
1 gem installed

gosu 1.4.6 がインストールされた。

Gosu は、DevKit (MSYS2) を使って、バイナリをビルドする形でインストールされる。DXRuby と違って、どのバージョンの Ruby でも Gosu が動作するのは、インストール時に、その Ruby のバージョンに合わせたバイナリをわざわざビルドしているから、なのだろう…。

以前書いた Gosu用のサンプルがあるので、ソレを使って動作確認した。

_GitHub - mieki256/gosu_examples_mieki256: Ruby + Gosu examples by mieki256.

少なくとも表示関係のサンプルは動いてくれた。

OpneGL関係のパッケージもインストール :

以下は gosu + OpenGL を動かす場合に必要になるパッケージだけど、この3つを入れずに opengl-bindings をインストールしたほうが良い。が、一応メモしておく。
gem install opengl
gem install glu
gem install glut
> gem install opengl
Fetching opengl-0.10.0.gem
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
Successfully installed opengl-0.10.0
Parsing documentation for opengl-0.10.0
Installing ri documentation for opengl-0.10.0
Done installing documentation for opengl after 0 seconds
1 gem installed
> gem install glu
Fetching glu-8.3.0.gem
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
Successfully installed glu-8.3.0
Parsing documentation for glu-8.3.0
Installing ri documentation for glu-8.3.0
Done installing documentation for glu after 0 seconds
1 gem installed

opengl, glu まではインストールできた。しかし、glut はインストールに失敗した。エラーが出る。

> gem install glut
Fetching glut-8.3.0.gem
Temporarily enhancing PATH for MSYS/MINGW...
Building native extensions. This could take a while...
ERROR:  Error installing glut:
        ERROR: Failed to build gem native extension.

    current directory: D:/Ruby/Ruby32-x86/lib/ruby/gems/3.2.0/gems/glut-8.3.0/ext/glut
D:/Ruby/Ruby32-x86/bin/ruby.exe extconf.rb
checking for glVertex3d() in -lopengl32.lib... no
checking for -lopengl32... yes
checking for -lglut... yes
checking for GL/freeglut.h... no
checking for GL/glut.h... no
checking for GLUT/glut.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=D:/Ruby/Ruby32-x86/bin/$(RUBY_BASE_NAME)
        --enable-win32-cross
        --disable-win32-cross
        --with-opengl32.lib-dir
        --without-opengl32.lib-dir
        --with-opengl32.lib-include
        --without-opengl32.lib-include=${opengl32.lib-dir}/include
        --with-opengl32.lib-lib
        --without-opengl32.lib-lib=${opengl32.lib-dir}/lib
        --with-opengl32.liblib
        --without-opengl32.liblib
        --with-opengl32-dir
        --without-opengl32-dir
        --with-opengl32-include
        --without-opengl32-include=${opengl32-dir}/include
        --with-opengl32-lib
        --without-opengl32-lib=${opengl32-dir}/lib
        --with-opengl32lib
        --without-opengl32lib
        --with-glut-dir
        --without-glut-dir
        --with-glut-include
        --without-glut-include=${glut-dir}/include
        --with-glut-lib
        --without-glut-lib=${glut-dir}/lib
        --with-glutlib
        --without-glutlib
        --with-GL-dir
        --without-GL-dir
        --with-GL-include
        --without-GL-include=${GL-dir}/include
        --with-GL-lib
        --without-GL-lib=${GL-dir}/lib
        --with-GLUT-dir
        --without-GLUT-dir
        --with-GLUT-include
        --without-GLUT-include=${GLUT-dir}/include
        --with-GLUT-lib
        --without-GLUT-lib=${GLUT-dir}/lib

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  D:/Ruby/Ruby32-x86/lib/ruby/gems/3.2.0/extensions/x86-mingw32/3.2.0/glut-8.3.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in D:/Ruby/Ruby32-x86/lib/ruby/gems/3.2.0/gems/glut-8.3.0 for inspection.
Results logged to D:/Ruby/Ruby32-x86/lib/ruby/gems/3.2.0/extensions/x86-mingw32/3.2.0/glut-8.3.0/gem_make.out

mkmf.log に色々記載されてるらしいので眺めてみたけど何が何やら。

ここで、昔書いた手元のメモを眺めたら、opengl-bindings をインストールすれば opengl, glu, glut をインストールしなくてもよい、みたいなことが書いてあった。そちらを入れてみる。

> gem uninstall glu
> gem uninstall opengl
> gem install opengl-bindings
Fetching opengl-bindings-1.6.13.gem
Successfully installed opengl-bindings-1.6.13
Parsing documentation for opengl-bindings-1.6.13
Installing ri documentation for opengl-bindings-1.6.13
Done installing documentation for opengl-bindings after 7 seconds
1 gem installed

opengl-bindings 1.6.13 がインストールされた。

昔書いた、gosu + OpenGL関係のサンプルで動作確認。

_gosu_examples_mieki256/opengl at master - mieki256/gosu_examples_mieki256 - GitHub

opengl-bindings を使った場合は、01 - 18 まで動作してくれた。ちなみに、opengl, glu をインストールした場合は、01 - 15 までしか動作しなかったので、どうやら opengl-bindings を使ったほうが良さそうだなと…。

2022/10/13(木) [n年前の日記]

#1 [pc][windows][mz][z80] S-OSアプリをX1エミュレータで動かすための下準備

かつて、Z80 CPU を搭載していた日本製レトロPC上で、共通のバイナリを動かせる、S-OS という仕組みがあったわけだけど。X1エミュレータを利用して、その操作感覚を体験してみたいなと。

環境は Windows10 x64 21H2。

念のために書いておくけど、X1 というのは SHARP が販売していた 8bit PC。

_X1 (コンピュータ) - Wikipedia
_SHARP X1シリーズ | ひみつの屋根裏部屋

S-OSアプリの入手先。 :

S-OSのアプリのバイナリは以下で入手できる模様。ありがたや。

_THE SENTINEL
_S-OS

前者では .obj ファイルがDLできる。後者では .mzt ファイルがDLできる。

.objファイルとはなんぞや。 :

まず、.mzt ファイルについて。これは、カセットテープに入っている1ファイル分を模したファイル形式。例えば MZ-700エミュレータで、カセットテープから何かのファイルを読み込んで…といった流れで操作する場合は .mzt が利用できる。

対して、.obj ファイルは…。これはどうやら UNIX or Windows用のS-OS SWORD で利用するためのファイル形式、らしい。たぶん。

一応念のために書いておくけれど。ここでいう .obj は、前述のページで入手できるファイルに限定した話で…。.obj という拡張子は、色々な場面で、色々なアプリが、全く異なるフォーマットで生成したり利用したりしているので、「.obj = S-OS関連ファイル」と思い込まないでほしいなと…。

さておき。ここでいう.obj ファイルは、アプリの本体バイナリの前 ―― ファイルの先頭に、18 byte (16進数なら 0x12 byte) のヘッダ部分がついているらしい。ヘッダ部分 + 本体バイナリ = .objファイル、ということかなと。

_古籏氏のサイトのファイルと、Oh!石氏のサイトのS-OS用のファイルのMZT化
_S-OS "SWORD"
_S-OS SWORD最強伝説

このヘッダ部分には、おそらく以下のフォーマットで、ロードアドレス(そのファイルを配置してほしいメモリ領域の先頭アドレス)や実行アドレス等々の情報が入っている、ように見えた。

AddressSizeDescription
0x00-0x034byteいわゆるシグネチャ相当。"_SOS" のASCIIコード。おそらく、S-OS関係のファイルであることを示している。
0x041byte区切り文字。0x20 (スペースのASCIIコード)が入っている。
0x05-0x062byteおそらくファイル種類。ASCIIコードで記述。"01"が S-OS用バイナリファイル。"02"がFuzzyBasicの.BASファイル等。他にも種類がありそう。
0x071byte区切り文字 (0x20)。
0x08-0x0b4byteロードアドレス。ASCIIコードで記述されてる。指定可能な範囲は 0x0000 - 0xffff。
0x0c1byte区切り文字 (0x20)。
0x0d-0x104byte実行アドレス。ASCIIコードで記述されている。指定可能な範囲は 0x0000 - 0xffff。
0x111byte終端文字。0x0a (ASCIIコードで LF)が入ってる。

バイナリエディタで開いた状態も載せてみる。なんとなく分かるだろうか…。

obj_header.png

ちなみに、前述のページから入手できる FuzzyBASIC (FUZZYBASIC.LZH) の中には、FUZZYBASIC、FZ_DRG.BAS の2つのファイルが入っていたけれど、どちらも拡張子として .obj がついてないものの、先頭部分に前述のヘッダ部分があった。全部確認したわけではないけれど、件のページで配布されてるファイルは、どれもヘッダ部分がついているのかもしれない。

.objのヘッダ部分を分離。 :

とりあえず、ヘッダ部分も一緒になっていると、X1エミュレータ + S-OS SWORD で読み込めないのではないかと思えてきたので…。試しに、バイナリエディタ FavBinEdit 1.2.5 を使って、前述のページから入手した INVADER.obj のヘッダ部分と本体バイナリを分離してみた。

_バイナリエディタ | FavBinEdit

INVADER.obj を開いて、先頭から18 byte (0x12 Byte) を選択。

split_hed_bin_ss01.png


右クリックして「切り取り」。

split_hed_bin_ss02.png


ツールバー上の「新規作成」をクリック。空のウインドウが開く。

split_hed_bin_ss03.png


右クリックして「貼付け」。

split_hed_bin_ss04.png


これで、ヘッダ部分と本体バイナリを分離できた。

split_hed_bin_ss05.png


  • ヘッダ部分は、INVADER.obj.HED として保存した。
  • 本体バイナリは、INVADER.obj.BIN として保存した。

ちなみに、INVADER.obj のロードアドレス、実行アドレスは、共に 0x3000 だった。この情報は後で必要になるので覚えておかないといけない。

と言っても、.HED を開いて確認すれば済む話だけど。ヘッダ部分(.HED) は全てASCIIコードで記述されているので、普通のテキストエディタで開いても内容が確認できる。

.d88ファイルとはなんぞや。 :

X1エミュレータにファイルを読み込ませるためには、拡張子が .d88 になってるファイルを経由する必要があるらしい。

.d88 って何だろうとググってみたら、どうやらフロッピーディスクのイメージファイルの模様。NEC PC-8801等のエミュレータで使われているイメージファイルフォーマット、なのだとか。

フロッピーディスクの容量としては、2D (両面倍密度、320KByte)を想定していることが多いように見えた。

_フロッピーディスク - Wikipedia
_D88形式フォーマット | HuDisk
_.D88形式のフロッピーディスクイメージフォーマット - (仮)
_wii88/FORMAT.TXT at master - jpzm/wii88

.d88にS-OSアプリのバイナリを含めてみる。 :

X1エミュレータで S-OSのアプリを動かすためには、S-OSのアプリバイナリを、この .d88 なる形式のファイルに収めてやらないといけない。さて、何をどうしたらいいのやら。

何か良いツールは無いものかとググっていたら、以下のページが参考になった。

_SONY SMC-777でS-OS SWORDを動かしました。 - tunozemichanの日記 / tunozemichan's diary

l3diskex というツールがあるらしい。ググってみたら、以下に遭遇。

_トップページ - 日立 ベーシックマスター レベル3 マーク5 / S1

L3 Disk Explorer (l3diskex) が正式名称で、日立ベーシックマスターのエミュレータ用に作られたツールらしい。コレを利用すればどうにかなりそう。ありがたや。

l3diskex_win32_060.zip を入手して解凍。l3diskex.exe を実行するとウインドウが開いた。

少し触ってたら、なんとなくやり方が見えてきたので、一応手順をメモ。

まず、新規ディスクを作成。ツールバー上の「新規」アイコンをクリック。

d88_impor_ss01.png


「ディスクの新規作成」ダイアログが開く。
  • 「カテゴリー」は「シャープ X1 Hu-BASIC」を選択。
  • 「ディスク名」は…今回は「GAME01」にしてみた。おそらく、大文字の英数字だけにしておいたほうが問題が起きにくい予感。

d88_impor_ss02.png

ここでちょっと疑問が湧くかもしれない。「S-OSから扱うディスクなのに、Hu-BASICなんか選んじゃっていいの…?」

むしろ、Hu-BASIC を選んだほうがいいらしい。と言うのも、S-OS のディスクフォーマットは Hu-BASICと同じにしてあるそうなので…。

_S-OS Sword Ver2.0 (J)(1986-02)(Oh!mz) [mz80K][type-in].txt
ディスクフォーマット

ディスクのフォーマットはHuBASICと同じにしました。
つまり、S-BASICと比べるとディスクの表裏が逆、記録されるデータはビットが反転しています。
これは、現在S-OSを移植中のマシンとの関係も合わでて、こちらのほうが一般的かつ合理的であると判断したからです。


さておき。GAME01 というディスクが新規作成された。

d88_impor_ss03.png


この「GAME01」をクリックすると、「FATがおかしいよ」と言ってくる。フォーマットが必要なのだろう…。

d88_impor_ss04.png


右クリックして「BASIC用にフォーマット」を選ぶ。

d88_impor_ss05.png


BASICの種類を選択する。「X1 Hu-BASIC (3インチ/5インチ2D)」を選択。あらかじめこうして用意してあるなんて、本当にありがたい…。

d88_impor_ss06.png


「中身が全部消えるけどいいのか?」と尋ねてくるので「いいですよ」と。

d88_impor_ss07.png


これでフォーマットはできたはず。S-OSのアプリバイナリを含めてみる。ツールバー上の「インポート」をクリック。

d88_impor_ss08.png


先ほどヘッダ部分と本体バイナリを分離した、INVADER.obj.BIN を選択。今回はコレを入れてみる。

d88_impor_ss09.png


ファイルをインポートするウインドウが表示される。
  • 「ディスクイメージ内のファイル名」を指定。ここもおそらく、大文字の英数字にしておいたほうが問題が起きにくい予感。
  • 「ファイル種類」は「Bin」にしておく。
  • 「ロードアドレス」「実行アドレス」を指定。INVADER.obj.HED には「3000」と書かれてたので、それに従って入力。
  • 一応、「全ての日付を無視する」にチェックを入れておいた。
d88_impor_ss10.png

ちょっと注意点。もしかすると、上記のウインドウとは違うウインドウが出てくる時があるかもしれない…。ディスクの新規作成から続けて作業した時は、大体このウインドウになるのだけど…。違うウインドウが出てくる時の条件は、まだ分かってない。

さておき。これで、S-OSのアプリバイナリを、ディスクイメージに含めることができた。

保存アイコンをクリックして、ディスクイメージを保存する。

d88_impor_ss11.png


「GAME01.d88」というファイル名で保存してみることにした。

d88_impor_ss12.png


今日はここで時間切れ。X1エミュレータ + S-OS SWORD で、この .d88 から読み込む手順は明日メモする。

2021/10/13(水) [n年前の日記]

#1 [python][pygame] 別幅で道路の自動生成を試してる。その5

8x8のタイルで道路の自動生成ができないか試しているところ。使用環境は、Windows10 x64 21H1 + Python 3.9.7 64bit + Pygame 2.0.1。

なんとかどうにかある程度は一応それらしく見えてくれるような感じになってきた気がする。まだ盛り込めてない処理が多いけど…。

ソースと使用画像その他。 :

ソースと使用画像その他も一応アップロード。CC0 / Public Domain ってことで。

_make_road_ml.py
_road_chip.png
_block_road_middle.json
_block_road_large.json

同じフォルダに入れて、python make_road_ml.py で実行できる。

以下のキー操作を受け付ける。
  • SPACEキー: 道路を作り直し。
  • Gキー : グリッド表示。
  • Sキー : 生成した道路をpng画像として保存。
  • カーソルキー or WASDキー : スクロール。(生成画像がウインドウより大きい場合)
  • Qキー, ESCキー : 終了

パターン定義ファイルの生成。 :

今回、8x8タイルで1パターンとして扱って処理をしてみたけれど、パターンの作成にはマップエディタ Tiled を利用させてもらった。

_Tiled | Flexible level editor

Tiled用のファイルは以下。

_road_large.tmx
_road_middle_new.tmx
_road_chip.tsx
_road_chip.json
_road_chip.png

今回は、以下のような見た目のパターンを作った。

road_middle_new.png

road_large.png


番号を描き込んでみると以下のような感じ。

road_middle_new_ss01_fix.png


Tiled から .json でエクスポートして、Python + Pygame で利用できるように変換したい。エクスポートした .json は以下。

_road_large.json
_road_middle_new.json

この2つの .json を Pythonスクリプトで読み込んで、パターン定義ファイルとして利用できる .json に変換する。変換用 Pythonスクリプトは以下。処理内容は、1次元配列を2次元配列にしているだけ…。

_make_road_pat_json.py

python make_road_pat_json.py を実行すると、以下の2つのファイルを生成・保存する。

_block_road_middle.json
_block_road_large.json

それぞれ、パターン定義ファイルとして利用できるかどうか動作確認するための Pythonスクリプトも書いた。

_test_draw_blocks.py

python test_draw_blocks.py を実行すると、block_road_large.json を読み込んで、ウインドウに表示する。スクリプト内のファイル名指定を書き換えれば、block_road_middle.json も読み込める。

課題。 :

生成結果をよく見ると、中幅道路と太幅道路の、交差部分の見た目がおかしいわけで…。道路脇の(路肩|路側帯)もドット絵に含ませているものだから、交差部分にもソレが見えてしまう。本来なら、そこだけ(路肩|路側帯)が消えているタイルを置き直さないといけない。

また、太幅道路に、中幅道路が繋がっている場合は、中幅道路側に横断歩道を描画したい。そういう箇所には横断歩道があるはずだろうと。

さらに、斜めの太幅道路に中幅道路が繋がっている場合は、ちゃんと隙間を埋めるような見た目になるタイルを置きたい。

つまるところ、以下のようなタイルの置き換えが必要になりそうなのだけど…。

road_large_overlap_ss01.png

この手の組み合わせが、これだけで済むとは思えないわけで…。また、この後、細い幅の道路も追加したいと思っているので、そうなると組み合わせ数が更に膨大になる…。

そもそも、道路1マス分に(路肩|路側帯)まで含めたドット絵を描いてしまったあたりがマズかったのではないかと思えてきた。道路の周辺に歩道相当のタイルを配置して、(路肩|路側帯)はそのタイルに含めたほうが処理が楽になったのではないか…。ちょっとドットを打ち直して考え直してみたい…。今の方法のままでは、どうも終わりが見えないし…。

#2 [python] Python + PIL で画像を分割したり比較したりしてみたり

Python + PIL (Pillow) を使って、画像を分割したり、分割した画像群を比較してユニークな画像を抜き出したりする処理を試してみた。環境は、Windows10 x64 21H1 + Python 3.9.7 64bit + Pillow 8.3.2。

画像を分割する処理は、以下のページが参考になった。ありがたや。

_[Python3.6]画像を任意の枚数に分割する - Qiita

.crop(x, y, x + w, y + h) を使えばいいらしい。

画像群の比較は、NumPy とやらを使うと楽にできそうと知った。

_Python, NumPyで画像処理(読み込み、演算、保存) | note.nkmk.me
_numpy - 配列同士を比較する関数について - pystyle

im = numpy.array(Image.open('hoge.png')) で、ndarray なる配列(?)が得られるらしい。また、pil_img = Image.fromarray(im) で、PIL の画像形式に変換できて、pil_img.save("fuga.png") で保存できる模様。

ndarray 同士の比較は、numpy.array_equal(a1, a2) が使えそうだなと…。これで、寸分たがわず同じ画像かどうかを判定することができるので、リストに登録した画像群と比較して、同じ画像だったら除去、同じ画像ではなければリストに追加、という処理をして、ユニークな画像群だけを得ることができた。

できたスクリプトは以下のような感じ。大きいサイズ(今回は1024x768ドット)の画像群を読み込んで、64x64ドット単位で分割して、ユニークな画像だけを抜き出して、64x64ドットの画像群として保存する、という処理をしている。

_10_split_pattern.py
import glob
from PIL import Image, ImageFilter
import numpy

infiles = "../output_images/*.png"
bw, bh = 64, 64

def main():
    l = glob.glob(infiles)

    imgs = []
    for s in l:
        im = Image.open(s)
        iw, ih = im.size
        print("%s, w x h = %d x %d" % (s, iw, ih))

        for y in range(0, ih, bh):
            for x in range(0, iw, bw):
                c = im.crop((x, y, x + bw, y + bh))
                n = numpy.array(c)
                imgs.append(n)

    nimgs = []
    for n in imgs:
        for o in nimgs:
            if numpy.array_equal(n, o):
                break
        else:
            nimgs.append(n)

    cnt = 0
    for n in nimgs:
        fn = "pat_%06d.png" % cnt
        im = Image.fromarray(n)
        im.save(fn)
        cnt += 1


if __name__ == '__main__':
    main()

2020/10/13(火) [n年前の日記]

#1 [zatta] ランプシェードもどきを自作した

ダイソーでプラスチック製(ポリプロピレン?)の植木鉢を購入。これを電球ソケットにつけてランプシェード代わりにしてみたいなと。

プラスチック製の植木鉢は、底面に小さい穴がたくさん開いていたので、ニッパーを使ってパチパチやって大き目の穴を開けることができた。コンセントプラグ?が通る程度の穴にして、コンセント付き電球ソケットを通して、ワイヤーで固定。使ったワイヤーは、ダイソーで購入した太さ2.0mmの品。

ぶら下げてLED電球を点灯させてみたけれど、どうも深さが足りなかったようで…。植木鉢からLED電球がひょっこり顔を出して、やっぱり眩しい。

白いゴミ袋をハサミで切って、植木鉢の周りにテープでつけてみた。これなら視界に入ってもそれほど眩しくない。

何にせよ、もうちょっと深い植木鉢を買ってこないとダメだな…。

2019/10/13() [n年前の日記]

#1 [nitijyou] 阿武隈川が氾濫

近所を流れる阿武隈川が氾濫して、周辺が浸水したらしい。

夕方、犬の散歩のついでに若干近くまで立ち寄ってみたら、朝方よりは水が引いたけど、まだ水浸しになってる場所にぶつかってしまって、いつものコースは進めなかった。

ぼんやり思ったこと。 :

子供の頃から、阿武隈川と釈迦堂川の合流地点近辺は、何度か洪水で湖のような光景になっていたので、いつかまたそうなるだろうなー、と思っていたのでやっぱりそうなったかー、てな印象も。

これでも、自分がこっちに帰ってくる少し前の時期に、かなり広範囲で被害が発生したことがあって、ソレをキッカケにして「平成の大改修」と称し比較的ガッチリと堤防その他を対策していたはずなのだけど。それでもまだ足りなかった、ということだろうなと…。

浜尾遊水地のあたりを、犬と一緒に散歩しながら、「このへん全部水没する予定なんだなあ」「でもこれだけの広さがあれば阿武隈川だってそうそう氾濫しないだろう」などと自分も楽観視していた面もあるのだけれど。あの広さを超える範囲が、こうして水浸しになっているわけで…。いやはや、なんとも。

というか、ケーズデンキだのリオンドールだのイオンタウンだの、そのへんを自転車で走るたびに、「洪水になったらこのへん全部水没するけど、こんな店を建てちゃっていいのかね」と不安になっていたわけで。もっとも、自分如きが容易に想像できるのだから、世間の皆さんだって当然そんなことは想定済みのはずで。「十数年に1回水没しても、ここに建てるメリットは十分にある」と踏んだから、それぞれ建てていたのだろう…。この程度なら予想の範囲内、知ってました、分かってました、という話ではあるのだろうなと。

昔の街道沿いは賢い。 :

東北本線の下を潜る地下道はきっと水没してるだろうと想像していたけれど、実際に行ってみたら普通に通れて、逆に驚いてしまった。

考えてみたら、江戸時代から続く昔の街道というか、旧国道というか、ソレを繋ぐ場所に地下道の出入り口があるから、洪水で水没しない程度に、微妙に高台なのだろうなと。

そして、街道と阿武隈川の間はしっかり綺麗に水没したわけで…。

つまり、このあたりに住んでいた昔の人は、「ここまでは水が来る」「ここまでは水が来ない」と把握した上で、水没する場所は田んぼや畑にして、水没しない場所の境界に街道を作り、その周りに家を建てていたのだろうと。そうとしか思えない。

しかし、昭和になってから、田んぼを潰して、道路を引いて、家や店を建ててしまった。昔の人がこの光景を見たら、「こいつら馬鹿じゃないのか」と呆れるだろうな…。

その土地にずっと住んできた先人達が、様々な形で、色々なヒントを残してくれていたのに。ほとんどスルーして、こういう事態を自ら招いている今の日本人の姿ってなんだかな。と思ったりもして。

まあ、ウチだって、そのへんどうこう言えないのだけど。昔から近隣に住んでる人なら、「あそこは水が染み出してくる」「生えてる草の種類を見れば判る」と危険視していた場所らしいけど。そんなところに、「安いから」という理由で家を建てちゃったわけで。そりゃ湿気が凄くてシロアリも出ますわ…。茶の間の畳も半分ほど食い荒らされますわ…。

人が増えすぎたのだろうな…。わざわざ危ない場所に家を建てないと暮らしていけないほどに、この日本と言う国は、人が増えすぎてしまったのだろう…。本来、この国土なら、人が住める場所は、もっと限られているはず、なのだろうと。

2018/10/13() [n年前の日記]

#1 [prog][tic80] TIC-80をまだ触ってたり

TIC-80をせっかく触り始めたので、もうちょっと使い方を調べてみようかと。

Windows環境にインストール。 :

TIC-80はブラウザ上でも動くけれど、ローカル環境で動かしたほうが多少高速に動くわけで。一応導入の仕方をメモ。

Windows の場合は、 _公式サイト から tic80_0.70.6.zip をダウンロードして、解凍して、中に入ってる tic80.exe を実行すれば済む。

Windowsストア上で「TIC-80」で検索してインストールすることもできるのだけど、そちらはバージョンが 0.60.3 と古かった。試しに Windowsストア版もインストールしてみたけれど、folderコマンドが使えなかったり、どこにファイルが保存されるのか分からなかったりするので、ちょっと不便かなと…。公式サイトの最新版を使ったほうがヨサゲ。

Ubuntu Linux環境にインストール。 :

VMware Player + Ubuntu Linux 18.04 LTS 上でも動くかどうか確認してみた。

Ubuntu Linux 18.04 LTS の場合も、 _公式サイト から tic80_0.70.6.tar.gz をダウンロードして、解凍して、中に入ってる tic80 をパスの通った場所にコピーして実行すれば済む。

自分の場合は、ユーザのホームディレクトリに bin というフォルダを作って、その中に tic80 をコピーして、パスを通す設定をした。
mkdir ~/bin
mv tic80 ~/bin

vi ~/.bashrc
~/.bashrc に以下を追加。
export PATH=$PATH:/home/USERNAME/bin
端末を再起動すれば、~/bin/ にもパスが通っているので、端末上で tic80 と打ち込むだけで TIC-80 が起動する。

Ubuntu Linux の場合、snapパッケージ版の tic80 もあるようだけど、snap install tic80 と打ってインストールしてみたところ、tic80 のバージョンが 0.50.1 pro と随分古かった。しかも、VMware Player + Ubuntu 18.04 LTS 上では tic80 と打って実行しようとしてもコアダンプを吐いて動いてくれない。どうやらこちらも、snap版は使わずに、公式サイトから最新版ををダウンロードして使ったほうが良さそうだなと。

ファイルの保存の仕方。 :

TIC-80実行後に、F1キーを押してエディタを表示してソースを修正した後、どうやってファイルを保存したらいいのかで悩んでしまった。

ググった感じでは、入力待ちの画面で、
save 保存ファイル名
で済むようだなと。

ちなみに、拡張子 .tic は打たなくていい。例えば test01.tic というファイル名で保存したい場合は、save test01 と打てば済む。

一度ファイル名をつけて保存すれば、入力待ち画面でも、エディタ画面でも、Ctrl+S を叩くだけでファイルを上書き保存できる。ファイルが保存されると、画面上部に「〜を保存したよ :)」的なメッセージも表示される。

ファイルのロードは、surf と打って選んでもいいし、load ファイル名、でもいいらしい。

どこに保存されているかは、folder と打てば確認できる。

Luaのバージョン。 :

TIC-80に内蔵されてる Lua のバージョンを確認したら、Lua 5.3 だった。とメモ。

以下のようなソースで、Luaのバージョンは表示できる。Lua の場合、おそらくはグローバル変数 _VERSION に、Lua のバージョン情報が格納されてるらしい。
-- title:  game title
-- author: game developer
-- desc:   short description
-- script: lua

function TIC()
  cls(13)
  print("Lua: " .. _VERSION,8*11,8*3)
end

2017/10/13(金) [n年前の日記]

#1 [cg_tools] GraphicsGaleがフリーウェアになっていたらしい

_GraphicsGale という、シェアウェアのドットエディタがあったのだけど。どうやら 2017/06/18にフリーウェア(フリーソフト)になっていたようで。知らなかった…。一体何があったんだ…。

もしかして開発停止になったからフリーソフトに、と思ったけれど、開発履歴を眺めたらむしろフリーソフト化してから開発ペースが上がってるように見えなくもないというか。何にせよ、ドットエディタの選択肢が増えるのは、ありがたいことだなと。

いやまあ、昨今はドットエディタってあまり使われてない印象もあるけど…。その手の企業が公開してるドット絵関連記事を眺めてると、Photoshop を使ってドット打ってる事例をよく見かけるような。フルカラーの画像編集ソフトは加工が楽だし、普段から慣れてるというのもあるのだろうか。いや、単に企業内ではAdobeアプリのシェアが圧倒的に強いだけかもしれんけど。

2016/10/13(木) [n年前の日記]

#1 [ruby] Windows10 + Ruby/Tk でエクスプローラからファイルをD&Dしてファイルパスを取得

Windows10 x64 + Ruby 2.2.5 p319 + Ruby/Tk + TkDND 2.8 で、エクスプローラからファイルをD&D(ドラッグアンドドロップ)して、ファイルパスを取得できるか実験。

参考ページは以下。

_[ruby-list:49771] TkDND での日本語名の扱い
_DebianでRubyからTcl/TkのTkDNDを利用してドラッグアンドドロップを実装する -- ぺけみさお

_tkdnd_test.rb
# Ruby/Tk + tkDND でファイルのドロップを受け付けるかテスト
# Tk拡張を導入していないと動作しない。
#
# [ruby-list:49771] TkDND での日本語名の扱い
# http://ruby-list.ruby-lang.narkive.com/lx7VFWDo/ruby-list-49771-tkdnd
#
# DebianでRubyからTcl/TkのTkDNDを利用してドラッグアンドドロップを実装する -- ぺけみさお
# https://www.xmisao.com/2013/07/25/ruby-tkdnd-linux.html

require 'tk'
require "tkextlib/tkDND"

Tk::TkDND::DND

label = TkLabel.new {
  text "Please File Drop"
  pack
}

txt = TkText.new(nil){
  dnd_bindtarget('text/uri-list','<Drop>', "%D") { |d|
    p d
    insert('end',d[0])
    insert('end',"\n")
  }
  pack
}

TkButton.new {
  text "Exit"
  command "exit"
  pack
}

Tk.mainloop

スクリプトを実行して表示されたウインドウに、エクスプローラからファイルをD&Dしてみた。

tkdnd_test_rb_ss.png

できたっぽい。

が、日本語ファイル名は、たしかに化けてるな…。

_[ruby-list:49771] TkDND での日本語名の扱い で紹介されてる変換処理を入れてみた。ついでに、複数ファイルを渡した時に全部処理するようにしてみた。

_tkdnd_test2.rb
require 'tk'
require "tkextlib/tkDND"
require 'nkf'

Tk::TkDND::DND

label = TkLabel.new {
  text "Please File Drop"
  pack
}

txt = TkText.new(nil) {
  dnd_bindtarget('text/uri-list','<Drop>', "%D") { |d|
    d.each { |s|
      # 日本語ファイル名を渡した時におかしくなるので変換処理をする
      u8str = s.encode("iso-8859-1","utf-8").encode("iso-8859-1","utf-8")
      u8str.encode!('cp932', 'utf-8')
      
      puts u8str
      insert('end',u8str)
      insert('end',"\n")
    }
  }
  pack
}

TkButton.new {
  text "Exit"
  command "exit"
  pack
}

Tk.mainloop
tkdnd_test2_rb_ss.png

文字化けしてないように見える。

が。 _[ruby-list:50353] [再]Re: TkDND での日本語名の扱い によると、空白が入ったファイル名を渡したり、\が入ったファイル名を渡すとおかしくなるそうで。試してみたところ、たしかにエラーが表示された。このあたり、なかなか厳しいものがあるようで。

TkDNDの導入方法。 :

Windows10 x64 + Ruby 2.2.5 p319 + Ruby/Tk の環境で、TkDND も含めたTk拡張(?)を使うには…。

とりあえず、ActiveTcl が必要。 _Download Tcl | ActiveState から入手してインストールする。たしか、自分の環境では、Windows x86(32bit版)、8.6.4.1 をインストールしたような。 セットアップファイルは、ActiveTcl8.6.4.1.299124-win32-ix86-threaded.exe、だった気がする。

次に、ActiveTcl に、TkDND をインストールする。tclsh と打つとプロンプトが「%」になるので、ActiveTcl についてきた teacup なるパッケージマネージャを使ってネット経由でインストール。
% teacup install tkdnd
インストールできたら、exit と打って抜ける。

最後に、Ruby/Tk からTk拡張を使えるようにする。
ActiveTclインストールフォルダ\lib\teapot\package\win32-ix86\lib\
の中に入ってるファイルやフォルダを、
Ruby2.2インストールフォルダ\lib\tcltk\
の中にごっそりコピー。

このあたりは色々やり方があるらしいけど、自分の環境ではこの方法でやってたり。昔試した時は、この方法なら ocra を使ってRubyスクリプトをexe化する時も問題が出なかったはず。

_2016/10/03の日記 や、 _2015/12/10の日記 にもそのへんメモしてあった、とメモ。

#2 [python] PySideでマウスを動かしてお絵かき

Windows10 x64 + Python 2.7.11 + PySide 1.2.4 で、ウインドウ上でマウスを動かすと何かを描ける、てな処理を QGraphics* を使って試してみたり。

_drawing_pyside_4.py
_ball.png
"""
PySideでウインドウに描画。
マウスを動かしてお絵かきできる。
QGraphics* を使う。

ヲドリテヒヅル PyQtでイメージビューワ
http://melpystudio.blog82.fc2.com/blog-entry-138.html
"""


import sys
from PySide.QtCore import *
from PySide.QtGui import *

width = 640
height = 480
brushPath = 'ball.png'


class ImageViewScene(QGraphicsScene):

    """ メインビューと関連付けられる Scene """

    def __init__(self, *argv, **keywords):
        super(ImageViewScene, self).__init__(*argv, **keywords)

        self.buttonFlag = False
        self.pixmap = QPixmap(width, height)
        self.pixmap.fill()
        self.brushImage = QPixmap(brushPath)

        # Scene に Item を追加
        self.imgItem = QGraphicsPixmapItem(self.pixmap)
        self.addItem(self.imgItem)

    def mouseDoubleClickEvent(self, event):
        pass

    def mousePressEvent(self, event):
        """ マウスボタンが押された際の処理 """
        if event.button() == Qt.LeftButton:
            self.buttonFlag = True
            self.drawing(event)
        elif event.button() == Qt.RightButton:
            self.pixmap.fill()
            self.imgItem.setPixmap(self.pixmap)

    def mouseMoveEvent(self, event):
        """ マウスカーソル移動中の処理 """
        if self.buttonFlag:
            self.drawing(event)

    def mouseReleaseEvent(self, event):
        """ マウスボタンが離されたときの処理 """
        if event.button() == Qt.LeftButton:
            self.buttonFlag = False

    def drawing(self, event):
        """ ブラシで描画 """
        x = event.scenePos().x()
        y = event.scenePos().y()
        x -= self.brushImage.width() / 2
        y -= self.brushImage.height() / 2
        qp = QPainter()
        qp.begin(self.pixmap)
        qp.drawPixmap(x, y, self.brushImage)
        qp.end()
        del qp

        # 描画更新する方法が分からない…
        # 仕方なく、pixmap を再設定してるけど…これでいいの?
        self.imgItem.setPixmap(self.pixmap)
        # self.imgItem.update()
        # self.update()


class ImageViewer(QGraphicsView):

    """ メインとなるビュー """

    def __init__(self):
        super(ImageViewer, self).__init__()

        self.setCacheMode(QGraphicsView.CacheBackground)
        self.setRenderHints(QPainter.Antialiasing |
                            QPainter.SmoothPixmapTransform |
                            QPainter.TextAntialiasing
                            )

        scene = ImageViewScene(self)
        self.setScene(scene)
        scene.setSceneRect(QRectF(self.rect()))

    def resizeEvent(self, event):
        """ ビューをリサイズ時にシーンの矩形を更新 """
        super(ImageViewer, self).resizeEvent(event)
        self.scene().setSceneRect(QRectF(self.rect()))

if __name__ == '__main__':
    app = QApplication(sys.argv)
    viewer = ImageViewer()
    viewer.show()
    sys.exit(app.exec_())

drawing_pyside_4_ss.gif

これで一応できた、のかな。

Qtには、ビットマップデータ相当として使える QPixmap てのがあるわけだけど。その QPixmap に対しては、QPainter を使って何か描き込むことができるわけで。

しかし、その QPixmap を渡して生成した QGraphicsPixmapItem の見た目を更新する方法がどうにも分からず。

結局、生成時に作った QPixmap を更新するたびに、QGraphicsPixmapItem の setPixmap() で設定し直してみたら、見た目も更新されるようになったけど…。果たしてコレでいいのだろうか…?

もしかして、QGraphicsPixmapItem が持ってる QPixmap は、QGraphicsPixmapItem の生成時、あるいは setPixmap() を呼んだ時に渡された QPixmap の内容を丸々コピーして持ってたりするのだろうかと。仮にそうであれば、生成時に渡した QPixmap を後から更新したところで、見た目も即座に更新されるわけでは無い、てのも分かる気もする。が、実際はどういう仕組みになっているのやら。

それと、どうせ QGraphicsPixmapItem が QPixmap を持っているなら、その QPixmap に直接描き込んでしまえばいいのではないか、とも思ったのだけど。試してみたところ、Pythonスクリプトが強制終了してしまって。となると…。 何にせよ、よく分かりません。

よく分からないと言えば…。QGraphicsView を使うとスクロールバーがなんだか中途半端な長さで出てくるのだけど、コレって何をどうやって設定したり使用したりするのだろう…。今後の課題。

#3 [neta][anime] BS朝日とBSフジはいっそアニメを放送しないでくれないものか

BS朝日とBSフジは、どうしてアニメ番組の放送時間がガンガンずれるのか…。何かの嫌がらせですか。HDDレコーダの予約録画がグチャグチャだよ…。

多少ずれても問題を起こさない時間帯や曜日が他にあるのに、どうしてわざわざ、あの曜日・時間帯に…。都市圏の地上波放送と照らし合わせるとあそこの曜日・時間帯になっちゃう、みたいなことなんだろうか。

2015/10/13(火) [n年前の日記]

#1 [anime][neta] 「科捜研の女」ってアニメ化しないのかな

「櫻子さんの足下には死体が埋まっている」というアニメを見ていてなんとなく思ったのだけど。こういうアニメが作れるなら…「科捜研の女」もアニメ化できたりしないかな、などとバカ妄想を。いや、「科捜研の女」って一度も見たことないのでアニメ化できそうな内容なのか分からないのですが。

「科捜研の女」は東映作品らしいけど、するとアニメ化は東映アニメーションが担当したりするのだろうか。あまりそのへん関係ないのかな。

沢口靖子さん演じる主人公が、アニメ版ではどんなキャラデザになってしまうのか、妄想するとなんだか楽しいなと。やはり、いかにもな萌え美少女キャラデザが出てくるのだろうか。アニメネタを扱ってるまとめサイトに、榊マリコ嬢のキャプチャ画像が貼られまくられたり、コミケで同人誌が…。そして東映から訴えられて…。

まあ、そんな展開は無いだろうけど。アニメが実写化される例はあっても、実写ドラマがアニメ化される例ってあまりないわけで。おそらく、実写→アニメの流れは、商売上の旨味がほとんど無いんだろう…。「ダイオージャ」は珍しい事例だったんだな、ってアレは実写のアニメ化ってわけじゃないや。強いて言えば、「まんが水戸黄門」が、かろうじてソレだったのだろうか。

そういえば、「チャングム」もアニメ版を作ってたっけ。韓国では、まだまだ「アニメ=子供向け」の印象が強いようで、主人公の幼女時代を描く作品になってしまったけど。すると、「科捜研の女」も、もし韓国内でアニメ化されたら、主人公の幼女時代を描く内容に…。どこらへんが「科捜研」なのかさっぱりわからない…。

アニメ化できれば、そのうち「科捜研の女 vs ルパン三世」「科捜研の女 vs 金田一少年の事件簿」「科捜研の女 vs 名探偵コナン」も不可能ではない。かもしれない。けど、まあ、無理か…。

#2 [zatta][neta] 小説の書き方を教えてくれる小説って無いのかな

「いきなり台詞から書き始めたら、小説っぽくない?」

西日が差す教室で、彼女はそう言い出した。

時々、小説だのシナリオだのが書けたらなあ、と妄想する時があるのだけど。悲しいかな、小説やシナリオの書き方なんて何一つわからんので、「書けたらなあ」と思うだけで何もせずに終わってしまうのですけど。

そこで、ふと、なんとなく。小説の書き方を教えてくれる小説、てのはどうかなと。それはそれで売り物にならんのかなと。

まあ、絶対に、既に存在してるはず、とは思うのだけど。自分がタイトルを知らないだけで、実際には山ほど出てる可能性が高いよなと。

これが小説ではなく漫画なら ―― 「漫画の描き方を教えてくれる漫画」だったら、自分もいくつか知っていて。 てなわけで、漫画なら、結構あるよなと。

だとすれば、ソレの小説版もフツーにあるんじゃないかなあ、と。

そういう小説をアニメ化したりしないかな。どこかで見たような学園ハーレム魔法バトル系ラノベを飽きもせず次々にアニメ化するより、まだちょっとは話題になるんじゃないかと思うんだけど。「バクマン。」や「SHIROBAKO」のヒットを目にしておきながら、未だに純度100%妄想ラノベを延々アニメ化とか、ソレどうなの、という気もするわけで。

ユーザの自由時間をあらゆるメディアが奪い合ってる現状において、ユーザ側も時間的余裕が無くなってきて、だったらせめて何かしら「身になりそうなもの」「知識が得られるもの」を選択する、そんな傾向が出てきていたりはしないだろうか。つまり、読者・視聴者の「知識欲」を満たす方向の需要が増してそうだよなと。そこを見事に嗅ぎ取ってヒットに繋げたのが「バクマン。」「SHIROBAKO」ではないのか、と思っていたりするのだけど。こんな状況で、飽きもせず、やれ学園が、やれ魔導戦士が、やれツンデレ美少女が、と作り続けるのは…。さて、どうなんだろうと。

と思ってググってみたら、「バクマン。」のラノベ作家版みたいなラノベはありそうな気配が…。やっぱりあるよね。なんだか安心(?)。

まあ、そういうアレを読んだからと言って、ラノベや小説が書けるようになるわけでもないだろうけど。「バクマン。」を読んでも漫画は描けないし、「SHIROBAKO」を見てもアニメは作れないし。

ただ、関連知識を得ることができるから「なんだか得した気分」にはなるよなと。ソレって商品として強いんじゃないかと思うんだけど、どうなんだろう。

彼女曰く。
私達は日頃小説なんか書いてないから、いきなり「小説を書け」と言われても書けるわけがない。
だけど、「会話」だったらいつでもしてる。
なら、会話なら ―― つまり台詞の一つ二つなら、いくらでも思いつくはずだ、と。

まずは慣れてることから始めよう。
とにかく台詞を一つ捻り出して、メモしてみる。それなら誰だってできるはず。

台詞は書けた。 じゃあ、その台詞は「誰」が喋っているのか。分からないとモヤモヤする。 説明が必要だ。台詞に続けて、「誰」が喋ったのか、説明文を書いておこう。 その「誰かさん」は、「どこ」で喋っているのか。「いつ」喋っているのか。 これも分からないとモヤモヤするから、場所の説明、時間の説明も書き加えてみよう ―― 「ね。これで小説の『出だし』は書けたよね。『出だし』だけは、一応」

今まで一度も書いたことが無いのに、小説を書かねばならない立場になってしまった主人公。彼はどうして小説を書かねばならないのか? 彼は何に巻き込まれたのか? 彼に小説の書き方を教えてくれてる異性は、一体どんな人物なのか? …設定を考えて説明文を並べていけば、一応形になりそうな気もするんだけど、さて。読みやすいかどうか、中身が面白いかどうかは別にして。

と、ここまで書いて、そもそも「ラノベの書き方」でググったら入門ページがわんさか出てくるんじゃないかと思えて試しにググってみたけれど。なんかもう、どの入門ページも…。「まずは書き始めてみよう」みたいなソレって皆無ッスね…。

プログラミングの世界では「Hello World」は定番なんだけど、ラノベや小説って、そういうのは無いのかな。いや、漫画もそういうのは無いような気がするけど。プログラミングの世界だけが特殊なのかな。

プログラミングの世界って、「Hello World」が動かせる状態にするまでの環境構築が壁になってるから、「Hello World」が存在してるのかなあ。

アニメや漫画における小説家という設定のキャラ。 :

話はずれるけど。アニメや漫画に、小説家という設定のキャラが登場することがあるけど。あのへんのキャラって、小説家さんから見て噴飯モノだったりしないのかなと…。

娯楽コンテンツに登場する小説家キャラって、いつの間にか知らない間にさっさと小説書き上げちゃってるけど。まあ、小説を書く作業自体はコンテンツの本筋じゃないからさらっと流されてしまうのだ、とは分かってるけど。本当に、さらっと流しちゃっていい程度の作業しか、小説家はしてないのだろうか。

昔、とあるレディースコミックで、「一週間(一ヶ月だったかな…?)で大ヒットゲーム作ってハッピーエンド」てな展開を目にしたことがあって。自分はソレを読んで悲しい気持ちになったのです。無理だよ。そんなスケジュールでゲームなんか作れないよ。でも、レディースコミックの作家さん達は、「ゲームなんて所詮そのくらいの期間で作れるんだろ? いやー、ウハウハだね!」と思ってるからこそ、こういう漫画を平気で描けるんだろうなと。

自分達の仕事内容が大変な作業だとはさっぱり思われてない、かなりチョロイもんだと思われてるってのは、こりゃ悲しくなる話だよなと。そう考えると、アニメや漫画に登場する小説家のソレを見て、実際の小説家さんはモヤモヤしてたりしないのかなと。「まあ、所詮はファンタジーだからねえ…」と大人の態度で眺めてるんだろうけど。

でも、思うわけですよ。作品を産み出す苦悩を、コンテンツに変換できないものかなと。

漫画家の島本和彦先生などは、変換できてるよなと。ソレを小説だのアニメだのでやれないものだろうかと。

ゲーム制作の苦悩は…。プレイしたことないから分からんけど、「セガガガ」あたりがソレだったりしないのかな…。

まあ、そんなことをぼんやり思ってしまったのでメモ。思考メモです。

#3 [zatta] 仲間が増えてほしい世界と仲間が減ってほしい世界

一人でも多く、優秀な仲間が増えてほしい世界と、一人でも多く、優秀な仲間が減ってほしい世界って、たぶんあるよなと。

プログラミングの世界は…。できれば仲間が増えてほしい世界、だろうなと。優秀な新人が現れて、便利なライブラリ、高速なライブラリを書いてくれたら、こりゃありがたい話で。だから、プログラマーを増やせるものなら増やしたい。プログラマーが増えれば、その中から優秀なのがポツポツ出てくる可能性が高まる。自分の作業も楽にしてくれる。故に、教育に有効なアレコレがあったほうが絶対にイイだろ、と考える。お前達、立派に育ってくれ。そうなりゃ俺が楽できるから、みたいな。

漫画とか、アニメとか、小説とか、音楽の世界は…。できれば仲間が減ってほしい世界、かもしれないよなと。自分と似たような作家性を持つ作家さんが居たら、事故にでもあって死んでくれないかな、とか平気で思いそう。ソイツが死ねば、自分のところにだけ、その種の仕事が入ってくるようになる。だから、新人を教育するなんてもってのほか。才能あるヤツは難癖つけて心を折って業界を去っていくように仕向けたい。そんなイジメを受けながらも耐え忍んで芽が出た作家は、これはもう強靭な精神力を持っている人物に違いなくて。つまり、人間性がヤバイ系の人達ばかり残ってる業界、だったりしそうな。

などと妄想したけれど、実際には、後進を育てるべく活動してる作家さんが結構居て。アレはどういうロジックなんだろう…。

余裕があるかないか、なのかな。自分のポジションは揺るがないと分かってる作家さんなら、後輩達を育てることもできるのだろか。プライドだってあるし。新人を叩き潰して回る作家より、育てる作家のほうが、社会的に見て絶対カッコイイ。そのくらいの見栄張れなくてどうするよチンケ過ぎるだろ、ってところはあるだろうし。

育てることで飯を食う、という道だってあるか…。作家として飯を食うのではなく、教育者として飯を食っていても、仕事があることに違いはないし。

アニメ業界あたりは、作業量が多過ぎて大変なので、一人でも仲間が、ただし優秀な仲間が増えてほしい、と思う職種もありそうな。全カット俺が描くぞ、しかもこの日数で、とか無理だし。誰か手伝ってよ頼むよ、と思うだろうし、こんなダメなの上げてくるなよ俺の手間増えるだろ頼むから育ってくれよ、とも思うよな…。でも、手伝ってもらった分、報酬が減るとなったら話が変わってきそう。

オチは無いです。単に、業界によってそのへん違ってたりするかもな、と思ったのでなんとなくメモしただけで。

#4 [anime] ワールドトリガーってスタッフ変わってたのですな

新シリーズが始まって、シリーズディレクターさんが変わったのは把握してたけど。シリーズ構成の方も変わってたのですな…。OP見返していて「アレ?」と今頃気づいた次第。しかし、名前でググっても情報が出てこない。誰のペンネームなんだろう…。あるいは、何人か集まってやってるのだろうか…。東堂いづみ、みたいな…。

今まで、おそらくはちびっ子達を想定して丁寧な説明を心がけていたように見える作品なので、今後も似たような感じでちびっ子達をワクワクさせてくれたら、と期待しております。

考えてみたら、ああいった世界設定で、子供さんにも見てもらえそうなアニメって、今時あまり多くないような。漫画原作があるとはいえ、今となっては貴重な種類のアニメ、なのだろうか…。いや、そもそも田舎ではアニメなんてほとんど流れてないので、こんな田舎ですら地上波放送されてるだけでも貴重なのですが。

2014/10/13(月) [n年前の日記]

#1 [nitijyou] 風邪ひいたかも

昨日の昼頃から調子が悪かったのだけど、ちと本格的に寒気と喉が。とりあえず寝る。

#2 [nitijyou] 台風が近づいてる

雨が激しくて犬小屋に吹き込んでるらしく、時々鳴き声が。どうにかしたいところだけど、せっかくカバーっぽい何かを用意しても、食い千切って破壊されてしまうし…。

2013/10/13() [n年前の日記]

#1 [unity] RaycastAllでハマった

Unityのスクリプト上には _Physics.RaycastAll というメソッドがあって。伸ばしたレイ(=光線)と交差する全てのポリゴンを ―― ポリゴンとの交点情報( _RaycastHit )を全て返してくれるので、コレを使って地形モデルとのアタリ判定ができないかなと実験してたのだけど。思ったように行かなくてハマったり。

以下のような地形モデルを作って実験。
地形モデル

空中に足場がある地形モデルなわけだけど、その空中の足場から、下に向かってレイを出せば、足場+地面で、交点情報が2つ以上返ってくるはず。 てな感じの判定が可能なるはず。

ところが、何度試しても、交点情報が1つしか返ってこない…。

調べてみたら、どうやらこの RaycastAll ってのは、レイと交差した「オブジェクト」の個数分、情報を返すようで。地形モデルは1つのオブジェクトだから、交点情報を1つしか返してこないのは仕様通りで。試しに足場オブジェクトを2つ3つ置いて試したら、ちゃんと2つ3つ返ってきた。

しかしこのままでは、空中の足場の交点しか得られない。

空中の足場は別オブジェクトとして ―― 地面のFBXモデルとは別のFBXモデルとしてエクスポート/インポートする、というやり方も試してみたのだけど。たしかにそれなら思った通りの結果が得られる。が、エクスポート/インポート作業が面倒臭くて。やはり地形モデルは1つにしておきたい。

仕方ないので、 _Physics.Raycast を使って、何度もレイを出し直すやり方を試したり。何かと交差していたら、その交点から少し先に進んだ場所から、またレイを出し直す。それを、何一つぶつからない状態になるまで繰り返す。
    RaycastHit[] GetRayCastHits(Vector3 pos, Vector3 vec, float dist) {
        Vector3 ofs = vec.normalized;
        ArrayList a = new ArrayList();
        RaycastHit hit;
        while (Physics.Raycast(pos, vec, out hit, dist)) {
            a.Add(hit);
            pos = hit.point + ofs;
        }
        return (RaycastHit[])a.ToArray(typeof(RaycastHit));
    }
これなら、1つの地形モデルオブジェクトに対しても、望む結果が得られた。処理は重くなってそうだけど。

後は足場から降りる処理を書くだけ。と思ったけれど、これを書いてる途中で気がついた。これでは、敵キャラや敵弾やプレイヤーの弾が足場の下に居た時も、そいつらを足場として判定しちゃいそうだな…。どうしよう…。

#2 [comic] 漫画本をいくつか読んだ

妹が以下略。

「コスメの魔法」(あいかわももこ著)、8〜16巻。 :

よくまあここまでネタを思いつくものだなと感心しつつ読んだり。まあ、それは、美味しんぼあたりもそうなのだけど。なんかこの調子だと、宇宙大戦争をしているエイリアンすらコスメで和解させられそう。…それは番外編ネタかな。

ほとんどの女性は、これほど大量の知識・技術を獲得しないと日常生活を送れない、てなあたりを考えると、なんだか申し訳ない気持ちに。男は、それに代わる別の知識・技術を獲得するための努力をしてきただろうか。男って怠け者だなあ…。いや、自分が思いつかないだけで、実は別の何かをちゃんと勉強していたりするのだろうか。…例えば鉄道オタクさんや野球ファンなどは自信を持って「俺はこういう知識を獲得してきたぞ」と言い張れるのだろうけど。

「RDG(漫画版)」(原作:荻原規子、キャラ原案:岸田メル、漫画:琴音らんまる)1〜2巻。 :

アニメ版しか見たことがなかったのだけど、漫画版も初めて目を通したり。

アニメ版を見ていた時はなんだかちょっと設定がよくわからない感じの作品に思えたけれど、漫画版を読むとなんだかちょっと分かったような気になってきたり。なんでだろ。読み返すことができるから、だろうか。それとも、アニメ版を見たことで設定がぼんやりうっすらと頭の中に入ってるから、だろうか。

絵がめちゃくちゃ上手くて感心。最近の漫画家さんは、とにかく絵が上手いなあ…。とんでもねえなあ…。

「テルマエ・ロマエ」(ヤマザキマリ著)、6巻。 :

「テルマエ・ロマエ」って完結してたのか! てっきり、まだまだ連載中の作品と思ってた…。道理で、原作者があちこちのTV番組に登場してたわけで。連載中なのによくそんな時間があるなと勘違いしたまま心配してたけど、一区切りついてたのですな。

こうして見ると、実写映画版のストーリーって、それほど原作から乖離してたわけではなかったのですね。

「君に届け」(椎名軽穂著)、17〜19巻。 :

由緒正しい少女漫画だった。これぞ少女漫画。これはこれでよし。全然OK。

「進撃の巨人」(諫山創著)、6巻以降。 :

アニメ版1期の最後のシーンからちょっと先に進んだところで読むのを一時停止。なんでもそうだけど、アニメ版や実写版を見てから漫画原作を読んだほうが美味しいので…。

漫画原作を先に読んでしまうと、無意識に、自分にとっての理想的な映像を頭の中で作ってしまい、後からどれほど優れた映像作品が出てきてもダメ出しばかりする人になってしまう。一旦頭の中をリセットして映像作品を見れる技を持ってる人なら「漫画→映像」の順でも楽しめるだろうけど。凡人はそんなことできないので、その作品を美味しく頂きたいなら「映像→漫画」の順で触れることに徹するべし。てなわけで、続きがとても気になるけれど、ここで一旦読むのをやめておこうと。

それはともかく、絵がグングンと上手くなっている印象。迫力も増してきたような。

連載してれば大体の人はこうして絵が上手くなっていくものだよなあ…。だから、デビュー前やデビュー直後の作家への評は、絵の上手下手よりも、ネームを重視しないといかんのだろうなと。ていうか漫画の肝はネームであって、絵ではないよなと思うわけだけど。…まあ、ネームの上手い原作者と、絵の上手い作画担当が組んだ時が、隙の無い商品を出せそうな気もしますが。

2012/10/13() [n年前の日記]

#1 [pc] SketchUp 8 でPCケースのレイアウトを検討してたのだけど

こういう感じの画面が作れる。

レイアウト1
レイアウト2
レイアウト3
レイアウト4


フツーのミニタワーケースとさほど違いがない大きさに、いや、むしろ、幅と高さが、より大きくなってしまったような。奥行だけは短くなってるけど…。一般的なATX電源を使う限りは、どうしてもこのくらいのサイズになってしまうのかな。

より小さいサイズが作れないのでは、PCケースを自作する意味が無さそう。外観に拘って奇抜な見た目にするなら、その限りではないだろうけど。

何にせよ、SketchUp を使うとこういう作業もできることを知り、それについては勉強になった気がする。

#2 [nitijyou] 自転車用ライトの表面にカビっぽい何かが

昔、ほんのちょっと使った自転車用LEDライトを、玄関に置きっぱなしだったのだけど。ふと気がつくと、表面に白いカビっぽい何かがびっしり。何だコレ。

中の電池がドロドロに溶けて、そこから流れ出た謎の液体が、表面にまで出てきて、揮発・付着してたようで。トホホ。

ケースは使い物にならないので、LEDや基板だけ取り出して、別途電池を繋いで動作確認してみたけれど、点灯しない。基板にまで液体がついてしまって壊れたのかもしれない。捨てるしかないか…。おそらく高照度のLEDだろうから、使えるなら残しておきたかったんだけど。

そもそも今時の高照度LEDって、値段はどのくらいなんだろう?

#3 [anime] ゴーバスターズのマニュアル合体回

色々と感心してしまった。とにかく、マニュアル操作で合体というシチュエーションが燃える。合体メカだからこそ作れる話、だよなと。

そこに至る流れも良かった。まず、 消しゴムサイズの消しゴム怪人という設定がグッド。 小さいから、なんとなく見た目が可愛い。映像的には、怪人の登場する全カットが合成処理になって大変だったろうけど。 小さいから、戦隊の背中に張り付いてやすやすと指令室に侵入しちゃう、ゴキブリのように動き回って発見されない、見た目消しゴムだから間違って使われるだけでやっぱり発見されない、というあたりがコミカルで笑えた。それでいて、 消しゴムだからコンピュータのプログラムをどんどん消してしまうという、見た目と一致した分かりやすい極悪非道な設定もイイ。何から何まで、「なるほどなあ」と思えてくる設定と展開だった。ような気がする。…たしかゴーカイジャーでも少し似たような回があった気もする。偽記憶だろうか。何にせよ、このサイズの怪人話は色々なネタが思いついて話を面白く出来そうだなと。

そして、 合体用プログラムが消去されたからマニュアル合体するしかない、という展開に感心。実に自然な流れ。…最初の頃の話で、シミュレータを使って合体訓練してた際に、赤の人がタイミングを掴めなくて苦労してた記憶があるので、「そんな便利なモノがあるなら、赤の人は苦労しなくて済んだのでは…?」と思ったりもしたけれど。たぶん、そのタイミングを掴むための情報提示を担うソレなんだろうと設定を勝手に脳内補完したりして。

普段はあまり目立った活躍をしない、指令室の娘さん+先輩男性が、コンピュータが使えないので手計算するあたりも良かった。男性のほうは、なんとなく「とどろけ!一番」を彷彿。あるいは、サマーウォーズのソレを少し連想したり。

脚本は、下山健人氏。たしか、ケロロ軍曹で、ちょっとしたSF要素を発端にしてどんどん話を広げていく手腕を見たような記憶もあり。こういう話が得意な方なんだろうか。いや、ケロロ軍曹のソレは原作があったのかもしれないけど。

#4 [anime] 実はマニュアル合体シーンそのものにはあまりグッときたことがない自分

「燃える展開」と言っておきながらアレなんだけど…。以前、ガオガイガーのマニュアル合体を見た時にも思ったし、今回、ゴーバスターズの該当回を見た時にも思ったけれど。手に汗握る展開、燃える展開のはずなのに、自分、肝心要のマニュアル合体シーンには、あまりグッとこなくて。どうしてなんだろう…?

まあ、自分の事例はどうでもよくて、子供さんが「どうなるんだろう」とドキドキしながら見ていたら、それだけで映像としては大成功なんだけど。

タイミングを合わせて操作をすると言えば、宇宙戦艦ヤマトのワープシーン ―― サインカーブを描く光点の動きに合わせてレバーを入れる、てなシーンを思い出すのだけど。当時、自分はその映像を見てドキドキしたのだろうか? 覚えてないな…。

何故自分は、その手のシーンに、ドキドキワクワクしないんだろう…。根拠のない仮説だけど。 後者は、大人になるともう仕方ないのだけど。前者は、まだどうにかできそうな。

以前何かの漫画で、ゲッターロボの合体が失敗して、真ん中のメカがぺしゃんこになるコマを見た記憶があって。もしかすると、そういう映像を事前に挟んでおけば、印象が違うのかもしれない。

例えば戦隊シリーズだったら、合体失敗により、黄色の人のメカがキリキリバキンと潰れていって、モニタ越しに、黄色の人のコクピットが潰れていく映像+悲鳴+骨が折れてるような音+映像ブラックアウト、とか。

もちろん、その回のためだけにミニチュア一つ潰すなんて予算的にマズイし、子供さんのトラウマ映像になりそうだからアレだけど。絵描きさんに頼んで、雰囲気だけでも伝えるざっくりとした塗りで失敗予想図のイラストを描いてもらって、「もし失敗したら…」てな台詞と合わせて映像に挿入しておく、とかやっておけば印象は違ったりするのだろうか。

失敗時の光景が想像できないと、成功時の感動は弱くなる。ような気もするけどちょっと自信無し。…見ている子供達に豊かな想像力があれば、その手の失敗映像は不要なのかな。単に、見ている自分の想像力が無いだけかもしれない。

2011/10/13(木) [n年前の日記]

#1 [windows] FL Studio 10.0.8のインストーラが異常終了する原因が分かった

Office IME 2010 をデフォルトのIMEにしてあると異常終了する。Windows7標準のMS-IMEに設定・再起動してから動かせば正常終了する。

インストーラのプロセスが使ってるDLL一覧を System Explorer で確認して構成が変わっているのを確認したので、おそらく間違いないと思う。Office iME 2010 関係のDLLが、悪さをしているとしか思えない。

長かった。やっと原因が分かった。Image-Lineのフォーラム上で、似ている不具合報告がまったく見当たらなくてなんだか変だなとは思ってたけど。日本版Windows上でしか発生しない問題だったのだな。それでは不具合報告として出てくるわけがない。英語圏はIMEなんて関係が無いもの。

Windows7 上でエラーが出ていない人がほとんどなのも納得。わざわざ Office IME 2010 を入れている環境は少ないか、あるいはIMEの設定内容次第で不具合が出たり出なかったりするのだろう。たしか、IMEのキー割り当てを変更するとアプリが異常動作する、というIMEの不具合事例を以前見かけた記憶があるし。もうそこまで試す気力はないけど。標準添付のMS-IMEに設定すれば回避できると分かったし、これ以上わざわざ苦労したくない。

#2 [windows] TortoiseSVNを1.7ベースに更新

Subversion 1.7 になったことで、管理の仕方が変わったらしい。今までは、作業コピーが入ってるフォルダ中で、各フォルダに対して .svn というフォルダが作られて鬱陶しかったけど。ルートのフォルダに1つだけ作られるようになったらしい。

ただ、今までのソレと互換性は無いらしいので、サーバ側も1.7に更新できないならアップデートはしないほうがヨサゲ。

2010/10/13(水) [n年前の日記]

#1 [sound] フリーのVSTiを物色

色々落として音色を確認したり。

Music Maker を起動して確認してたのだけど、プリセットの音色を切り替える作業が面倒で。VSTiのGUI画面中で切り替えボタンがあるものは楽なのだけど、そうでない場合は、いちいち、マウスを操作してメニューを出してプリセット音を選ばないと切り替えられない。Music Maker 側でショートカットキーが割り当てられていないかと思ったけれど、そもそもヘルプファイルが同梱されていない ―― 英語版のヘルプファイルすら無いみたいで、調べようもなく。

Music Maker で確認するのが間違いなのかもしれぬ。と思えてきたので VST Host になるソフトを検索。 _Cantabile Lite なるものが一応フリーで使えるらしいので、試用してみたり。(liteがつかない版は有償版。) Ctrl+→、Ctrl+←でプリセット音を切り替えられて、グンと快適に。

喜んでガンガン切り替えていたら、OSがブルースクリーンになって勝手に再起動。トホホ。…やっぱり、ASIO4ALL等の疑似ASIOドライバが不安定なんだろうな。参った。

2009/10/13(火) [n年前の日記]

#1 [anime] ヤッターマン最終回を鑑賞

最後の最後でオリジナルの歌い手さんのOP曲に。粋なことをするなあ、と思うと同時に、なんで最初からこういう感じで流さなかったんだろうな、という疑問もチラリと頭をよぎった。

このリメイクは成功だったのだろうか。ずーっと見続けてきたけれど、実のところ、よく判らない。でも、リメイクをしたことで、ヤッターマンと言うコンテンツが、今の子供達にもその存在を認知された、というメリットはあるように思えていて。その子供達が大人になれば、「自分の知っているコンテンツ」としてヤッターマンを扱ってもくれる。仮面ライダーやウルトラマンのように、それは商売のしやすさにも繋がっていくだろうし。…うむ。リメイクした価値はあったように思える。本編も面白い回・笑える回が結構あったし。

2008/10/13(月) [n年前の日記]

#1 [nitijyou] NHK-BS2の画面がノイズだらけ

岩窟王の録画をしようと思ってNHK-BS2の画面を確認したらやたらとノイズが。さてはBSアンテナの向きが風でおかしくなったかと思い、夜中にベランダのソレを弄ってたら、妹から「うるせえ! 何やってんだ!」と苦情が。うーん。

どれだけ方向を変えてもノイズが消えてくれない。諦めてノイズだらけで視聴。

BSアンテナの設置についてネットで検索したら、そもそも機器によっては「BSアンテナレベル」なるものを確認できる機器があるらしい。弟が置いていってくれたアナログBSチューナー付きビデオデッキのメニューを確認したら、BSアンテナレベルが表示された。これを表示したままにして調整すれば良かったのか。が、本来レベルが50以上なければいけないはずが、20〜21しかない。どういうことなんだ…。

2007/10/13() [n年前の日記]

#1 [digital] _★究極映像研究所★: ■庄司道彦作 バーチャルヒューマノイド: Virtual Humanoid  別名 汎用妄想補完端末 ばーちゃる☆ひゅーまのいど 実体化するデンスケとヌル(『電脳コイル』)

_wingover.jp | Main / Virtual Humanoid

これはたしかに今後の展開が楽しみ。

#2 [zatta] _アナタの周りを取り囲む人々は、全て、個人の目的を持って動いていて、アナタの成長の為にいるNPCじゃないわけだ。

いわゆる「学生気分が〜」云々の話、なんだろうけど。上手い比喩をするなと感心してしまったり。

#3 [web] mixiってcssをカスタマイズできないのだろうか

たとえばケータイのストラップを変えたり、着信音を変えたり、なんてのは一般的にはよく行われてることなので、ライトなユーザは自分好みにカスタマイズ ―― 既に提示されているいくつかの選択肢の中から選んでいくのが主だろうけど ―― が好きなのではないかと想像するわけで。なのになぜ、そういう仕様が組み込まれてないのか。>mixi。不思議。

「パッと見で、mixiを眺めてることが判る画面にしたい」「広告表示領域を絶対確保したい」等の要求があったとしても、それら条件を満たした複数のcssを用意しておいて、「さあ、選んでください」と提示しておけばいいような気もするのだけど。…ユーザ毎に、どのcssテーマを選んでるか、記録・呼び出す際の負荷がとんでもないことになるのかしら。…だとすると、はてなダイアリーは凄いことしてるんだなぁ。

#4 [prog][neta] オブジェクト指向をチュートリアルっぽく学べるアプリとかないのかしら

これだけ「オブジェクト指向が判らねえ」的な声をあちこちで見かけるわけだから、順にクリックしたり、指示されたとおりにキーボードから打ち込んでいくことで、最後にはオブジェクト指向が理解できる、てな感じの学習アプリが出てもおかしくないような気もしてきた。タイピングソフトとか、聖書の勉強用アプリみたいなノリで。

たとえば、エロゲみたいに背景に人物の立ち絵が出てきて。下のほうにメッセージウインドウがあって。クリックするとメッセージが次々に表示されて。途中で3択クイズが出てきたりとか。テキスト情報を小出しにすることで、パッと見た瞬間に「うわ、ダメだ、ちんぷんかんぷんだ…」てな偏見?思い込み?を除外できそうだし。

でも、オブジェクト指向を教えるだけのシナリオ・スクリプトが書ける人間は、既に理解済みの「できる子」だから、そういうアプリの必要性など感じないだろうし。「できない子」は、そういうアプリがあったらいいなと思っても、オブジェクト指向を教えるシナリオ・スクリプトがそもそも書けないし。結局誰も作らない・作れない状況になるのだな。

もしかすると、書籍として出すより、そういったアプリの形で情報コンテンツを販売したほうが、儲けられたりはしないだろうか。…書籍より値段が高くなっちゃって、売れにくいか。

オブジェクト指向が学べるエロゲなんてどうか。 :

各項目を理解できると、そのたびにエロ画像が見れるのです。途中で学習意欲を失わずに済むかもしれず。…ホントかよ。

言語学習に使えたりはしないかしら。たとえば、Rubyのイテレータを理解したり、クラスの作り方が理解できると、攻略できる女の子が違ってくる・エンディングが変わってくるとか。…イテレータやクラスで、どうやって攻略するんだろう。ゲーム展開がまったくイメージできません。

#5 [web][neta] ソーシャルブックマークとInternet Archiveを連動できないものかしら

Web日記やblogでURLクリップするより、ソーシャルブックマークを使ったほうが便利なんだろうなと思ったけれど。リンク先が消滅することがあるのがアレだなと。…URLクリップすると同時に、リンク先を Internet Archive で記録したりはできないものだらうか。…そもそも Internet Archive に、「このページ記録しておいて」的指示を出す方法が判らないけど。

#6 [pc][digital] _大語彙連続音声認識エンジン Julius

Julius は,音声認識システムの開発・研究のためのオープンソースの 高性能な汎用大語彙連続音声認識エンジンです.数万語彙の連続音声認識を一般 のPC上でほぼ実時間で実行できます.また,高い汎用性を持ち,発音辞書や 言語モデル・音響モデルなどの音声認識の各モジュールを組み替えることで, 様々な幅広い用途に応用できます. Juliusはオープンソースソフトウェアで,ソースコードを含めてどなた でもフリーで入手することができます.

大語彙連続音声認識エンジン Julius より

TVを見てたら紹介されていたので検索。なんだか面白そう。

#7 [anime] 電脳コイルの空中戦を見ていてテラホークスを思い出してしまった

球体と 立方体と言えばテラホークス。そういやアレもNHKで放映されてたのだったか。考えてみれば、サッチーの機体色と手の形は、テラホークスの鷹だか鷲だかの飛行機に似てなくもない。<さすがにそれはちょっと無理が。

元々はどのへんの作品がオリジナルなんだろうか。>球体と 立方体の組み合わせ。テラホークスのその前にもあった・テラホークスのソレはオマージュだったんじゃないかとなんとなく想像。

#8 [pc] 親父さんが Canon製プリンタ PIXUS iP4500 を買ってきた

今まで EPSON製プリンタを使ってた親父さん。インククリーニング時に使うスポンジがなんだかはみ出てきたので、むしり取ってしまったとのことで。

修理に出しても技術料その他で10,000円ぐらいしそうだし。そもそも、もう数年前の古いプリンタ ―― インクも独立タンクではない、もっとも低価格なタイプだったので、いっそ新しいのを購入したほうがいいのでは…てなことを話してたのが昨晩のこと。

今日の昼に階下に降りたら、ヤマダ電機で買ってきた _ソレ があった。行動が早い…。お値段、18,000円 - 10%ポイント還元。親父さん曰く、値引きはまったくできなかったとのこと。その代わり試供品を色々貰ってきたそうで。年賀状シーズン直前だから、そりゃ値引きは無理だろうな。…自分の iP4300が11,000円前後で買えたことを考えると、購入時期ってのは重要かもしれん。

EPSON製染色インクプリンタは、CMYKの他に薄いCとYを装備して画質を追求。Canon製プリンタは、CMYKしか用意しないものの、打ち出すドット?を小さくすることで画質を追求。という状況があるので、写真を趣味にしてる親父さんのことだから、てっきり今回もEPSON製を買うのかと思ったけれど。経験的に、EPSON製はインクが詰まるし、インクコストも高いし、印刷速度も遅いし、印刷音もうるさいしで。今回はCanon製プリンタの利便性を選択した模様。

画質ならEPSON、利便性ならCanon、安さならHP、てな印象が昔はあったのだけど、今はどうなんだろうな。まあ、各メーカ、「ウチは画質も利便性も安さも全部揃ってますよ」と宣伝するのは目に見えてるんだけど。少なくとも画質に関しては、昔に比べると差がなくなりつつあるような印象も。…まあ、昨今は、スキャナもついたオールインワンタイプが主流らしいので、印刷性能ばかり気にしてもアレなのか。

2006/10/13(金) [n年前の日記]

#1 [comic] のだめカンタービレ、最新刊を読んだ

パリのオーケストラが延々とリハをする巻。妹が買ってきたので(以下略。

「動かぬターニャ」という台詞に、非常に感心。「動かぬ証拠」とかけているのだな。作家さんのセンスが光ってる。

#2 [iappli] 画像が届いたので

差し替え作業中。

とりあえずスクラッチパッドには収まりそう。もう少し画像が届く・サウンドデータも入れ替えになるので確定ではないけど、たぶん大丈夫だろう。アプリ側も20Kbyte前後に収まってるし。容量面に関してはハマらずに済みそう。

#3 [tv] NHKで医師不足云々の番組が流れててちょっとだけ見ていたのだけど

産婦人科が近くにないので、遠くから来院・受診してる妊婦さんの話がなんというか。産婦人科が少ない → ベッドはいつも満室 → 遠くに住んでるからという理由では事前に入院しておくことが難しい → 産気づいたときに家族の運転する車で病院に運ばないといけない → 下手すると車の中で出産もありえる、という話で。不安に駆られている妊婦さんの気持ちを想像すると、なんともやるせない気持ちになってくる。

日本社会全体が、「子供を産むな」「作るな」「堕胎しろ」と言ってるようなものかもしれない。と思えてしまったり。…まあ、先人達が、あえてこういう社会を作ろうとして、わざわざ選択肢を選んできたのだろうし。文句の言いようもないけれど。

この記事へのツッコミ

Re: NHKで医師不足云々の番組が流れててちょっとだけ見ていたのだけど by けいと    2006/10/14 22:39
産婦人科やら小児科の病院は減ってもペットの病院は続々増えてる。

少子化に関して言えば、
つまるところ、子供がひとり立ちするまでの18〜22年間、
安定した収入と生活が保障されなくなってしまったからだと思う。

医者が減るのは、訴訟が…って言う話も多分にあると思うけど、
それ以前に医者も人間だって言うことを患者(お客)がわかっていないんだと思う。
医者も普通のサラリーマンみたいに土日と夜は休みたいはずだし、
医者として成長していくためには高度な医療と
その情報にすばやくアクセスできる生活環境が必要なんだと思う。
そうなれば当然情報がたくさん集まる東京のような大都市に住みたいはず。

問題は医療費の話。
番組の終盤でも出ていたけど、
伝染病のように個人の努力では防ぎようがないものに関しては手厚く、
肥満や糖尿病のような個人の努力で防げるものは自己負担を多く、
っていう考え方は良いような気がする。
慢性的な病気をどうするか、なんだけどね。
とりあえず、薬もらうためだけの診療行為は規制撤廃してもいいような気がする。
あと、派遣や請負のおかげで労働者の賃金が抑制されているんだから、
医者の世界にも派遣や請負みたいな制度ができたら易くなるんじゃないかと思ったり。
まぁ、それがかつての「研修医制度」だったんだろうけど。
最初のあたりしか見てなかった自分 by mieki256    2006/10/19 02:30
> 番組の終盤でも出ていたけど

おお。あの番組、見ておりましたか。
や、自分は途中で別の作業始めちゃったので
最初のあたりしか見てなかったんですが。

出産云々に関しては、もしかすると助産婦さんの数を増やすことで
ある程度対応できんかな、とも思ったんですが、
それだと衛生状態云々の点で問題があったりするんですかねぇ…。
いやいや、何か起きたときの対応ができないというのが大きいのか。
いやしかし、車の中で出産するぐらいなら…。うーん。

とりあえず、次世代を作るため・残すために必要な医療行為は、
特別扱いできんものなのか、と思ったりもしたのでありました。
産婦人科医師、減少 by がんした    2006/10/23 03:48
実は産婦人科って医療各科の中でも、近年めざましく進歩してて
出産による母子&子の死亡率は、ここ数十年で格段に減ってるそな。
一昔前なら死産だった未熟児が今の技術だと保育器にいれられ、
無事、成長できたりするじゃない?なのに、社会からは正当な評価(給与、
労働環境、社会的信頼)されてない。そりゃ医者だって産婦人科医になりたくないわな。

医者とか教師を「サービス業」だと言う人がいます、確かにそうゆう側面があるかもしれないが、
じゃあ患者や生徒(特に義務教育課程の小・中学生)や保護者が「客(=金づる)」でイイのか?
それも違うだろう。

医者とか教師とか社会性の高い職業は、私立病院or私立学校でも多くの税金が補助金として
投入されてる事から、警察官とか消防士とか自衛官などの公務員と同じく
『社会に必要不可欠な技能職』だろう。で、技能職ってのは絶えず技能を磨く機会を
安定して継続的に提供しつづけないと一定の技量は保てません。
つまり、「サービス業のお客」であると同時に「サービス業のオーナー」でもあるから
駄目医者や駄目教師を育てる義務みたいなものが、患者や生徒や保護者にはあると思うけどね。


>あと、派遣や請負のおかげで労働者の賃金が抑制されているんだから、
>医者の世界にも派遣や請負みたいな制度ができたら易くなるんじゃないかと思ったり。

フィリピンからの出稼ぎに頼るらしい。
http://www.nikkei.co.jp/neteye5/nakamura/index.html
http://www.yorozubp.com/0507/050715.htm
http://www.toonippo.co.jp/shasetsu/sha2005/sha20050323.html
Re: 産婦人科医師、減少 by mieki256    2006/11/04 00:33
> 「サービス業のお客」であると同時に「サービス業のオーナー」でもある

なるほどなぁ…。たしかにそういうことなのかも…。

2005/10/13(木) [n年前の日記]

#1 [nitijyou][vine] 自宅サーバ、切断してました

PM2:00頃、NTTの作業員が来て。「近くで光ファイバーの工事をしたのだけど、こちらも光ファイバーがちゃんと繋がってるか確認させてくれ」とのことで。十数分、自宅サーバが外れてました。

その後、PCからネット接続。回線に、特に問題はない模様。ルータを経由すると、上り20Mbps、下り20Mbps の速度になるのも相変わらず。…もう少し速いルータが欲しい。

PM7:00〜PM8:00頃も切れてました :

自宅サーバを、Vine Linux 3.1 から 3.2 にアップグレードしてました。

#2 [vine] 自宅サーバの Vine Linux 3.1 を 3.2 にアップグレード

/etc/apt/source.list 内の、「3.1」の記述を、「3.2」に変更して、apt-get update、apt-get upgrade、apt-get dist-upgrade 。

kernel も新しくなったらしいので、/etc/lilo.conf に追加して、/sbin/lilo で MBR に反映。<だったか?

#3 [zatta] 信じるか否かの1bit思考で八百万の神を認識してしまう日本人と一つの神を信じてはいるが信じるか否か以外の認識方法を持っているのであろう欧米人

てなことを思ったりして。各要素について1bitで捉えるから八百万も神を生み出せるのか、八百万も居るから1bitしか割り当てられなかったのか。とか。卵が先か鶏が先か。

科学的知識・事象に対しては、本来「信じる/信じない」で判断すべき内容ではない、のだけど、日本人はそれすら「信じる/信じない」という1bitに落とし込んでしまう。かつ、あるbitとあるbitが排他になっている・あるbitのNOTが別のbitになってる、という関係がある場合にも、それぞれのbitを分離して捉えてしまう。てなところが仮にあるとしたら、それは欧米と比較して優れてる点とは到底言えないだろうと。…そんなことをを思ったりもしたのだけど、しかし欧米における科学ってのは元々宗教的なところから発生してると聞いた記憶もあるので、実はあまり違いはないのかもしれんとも思い直したり。

最終的には全てが「信じるか/信じないか」になってしまう、と言う人が居るかもしれんけど、「信じられないが、正しい」とか「信じたくはないが、それが得だ」とか、他にも判断に用いるbitは存在すると思うんだよなぁ。合理的判断に用いるbit、とでもいうか。日本人はそのへんのbitがないような、あるいは重み付けがそれほどないような気もする。

まあ、そんなことを、コメント欄の、「1bit = 1神」とか、「1bit思考ではなく1bit決断」とか、そのあたりの言葉を目にしてるうちにぼんやり思ったというだけの話なんですが。

#4 [windows] WinXPのキーリピートがおかしくなる

VNC viewer を使うとその後のWinXPのキーリピート設定が無効になるような気がしたり。キーリピートが始まるまでの時間とか、キーリピートの速度とか、初期化される・特定の値が入ってしまうような感じがする。気のせいかしら。

ではないな。コントロールパネル → キーボードから設定し直すと、反応が変わるし。

VNC Viewer じゃなかった :

VNC Viewer を起動して再度確認してみたけど、キーリピート速度が変わってる感じはしない。

考えてみれば、その前にCPU切替器で、サーバとメインPCを切り替えて作業してたっけ。そっちなのかもしれん。

CPU切替器で切り替えてみた。キーリピートが遅くなった。どうやらCPU切替器が原因っぽい。ていうか _2005/08/15 にも同じ件で悩んでた。忘れてた。ボケ始めてる… >自分。

#5 [linux] _the Minnu's Filer2

UNIX(Linux, FreeBSD, cygwin)のコンソール上で動作する2画面ファイラ(ファイラー、ファイルマネージャー、ファイル管理ソフト)です。Rubyインタプリタ搭載です。

the Minnu's Filer2 より

「あふ」を使ってる自分としては気になるファイラー。

Vine Linux 3.2 上で make してみたり :

Vine Linux なので、make -f makefile.Vine としてみたけれど。下のようなエラーが。
mv mcurses.o bin/
if [ `uname -s` = "FreeBSD" ] || [ `uname -s` = "NetBSD" ] || [ `uname -s` = "CYGWIN_NT-5.0" ] || [ `uname -s` = "CYGWIN_NT-5.1" ]; then \
        g++ -o mfiler bin/main.o bin/command.o bin/cmdline.o bin/dirwnd.o bin/menu.o bin/file.o bin/mcurses.o mlib/mlib.a ncurses-5.4/lib/libncurses.a ./ruby-1.8.2/libruby-static.a -lcrypt; \
elif [ `uname -s` = "SunOS" ]; then \
        g++ -o mfiler bin/main.o bin/command.o bin/cmdline.o bin/dirwnd.o bin/menu.o bin/file.o bin/mcurses.o mlib/mlib.a ncurses-5.4/lib/libncurses.a ./ruby-1.8.2/libruby-static.a -ldl -lcrypt -lsocket;\
elif [ `uname -s` = "Darwin" ]; then \
        g++ -o mfiler bin/main.o bin/command.o bin/cmdline.o bin/dirwnd.o bin/menu.o bin/file.o bin/mcurses.o mlib/mlib.a ncurses-5.4/lib/libncurses.a ./ruby-1.8.2/libruby-static.a; \
else \
        g++ -o mfiler bin/main.o bin/command.o bin/cmdline.o bin/dirwnd.o bin/menu.o bin/file.o bin/mcurses.o mlib/mlib.a ncurses-5.4/lib/libncurses.a ./ruby-1.8.2/libruby-static.a -ldl -lcrypt; \
fi
g++ -o mattr mattr.cpp ncurses-5.4/lib/libncurses.a
mattr.cpp:4:20: curses.h: そのようなファイルやディレクトリはありません
mattr.cpp: function 内の `int main(int, char**)':
mattr.cpp:70: error: `initscr' undeclared (first use this function)
mattr.cpp:70: error: (Each undeclared identifier is reported only once for each
   function it appears in.)
mattr.cpp:71: error: `noecho' undeclared (first use this function)
mattr.cpp:72: error: `stdscr' undeclared (first use this function)
mattr.cpp:72: error: `keypad' undeclared (first use this function)
mattr.cpp:73: error: `raw' undeclared (first use this function)
mattr.cpp:75: error: `clear' undeclared (first use this function)
mattr.cpp:81: error: `A_REVERSE' undeclared (first use this function)
mattr.cpp:81: error: `attron' undeclared (first use this function)
mattr.cpp:82: error: `mvprintw' undeclared (first use this function)
mattr.cpp:83: error: `attroff' undeclared (first use this function)
mattr.cpp:87: error: `printw' undeclared (first use this function)
mattr.cpp:117: error: `move' undeclared (first use this function)
mattr.cpp:130: error: `refresh' undeclared (first use this function)
mattr.cpp:133: error: `getch' undeclared (first use this function)
mattr.cpp:138: error: `KEY_UP' undeclared (first use this function)
mattr.cpp:138: error: `KEY_DOWN' undeclared (first use this function)
mattr.cpp:148: error: `KEY_RIGHT' undeclared (first use this function)
mattr.cpp:152: error: `KEY_LEFT' undeclared (first use this function)
mattr.cpp:245: error: `endwin' undeclared (first use this function)
make: *** [mattr] エラー 1
3.2 になって、何か変わったのであらうか。

コンパイルにはlibcrypt, libcursesが必要になります。

the Minnu's Filer2 より

これかな。と思ったけど、apt-cache search xxxxx で見てみたらそれらしいものが見当たらず。rpm -qa | grep xxxx したら、ncurses-5.4-0vl2 なるものは見えたけど…。

む? ncurses-devel が入ってないのが原因? apt-get install ncurses-devel でインストールしてみたり。

libcrypt のほうは…何を入れたらいいのやら。apt-cache search したら、libgcrypt なるパッケージは存在するらしいけど。それを入れればいいのかしら? よくわからない。

とりあえず、crypt 云々は何もせず、再度 make。…今度はバイナリができたみたい。root になって、/usr/bin 以下に、mfiler、mattr をコピーしてみたり。

mfiler と打ってみた。動いた。おお。どう見ても2画面ファイラー。あふライクに操作できる。素晴らしい!

「v」を押したら画面が一瞬点滅。…あ、環境変数に PAGER とか EDITOR を指定する必要があったのか。.bashrc に、
LESS='-N -X'
EDITOR='vi'
PAGER='less'
export LESS EDITOR PAGER
を指定。

option_color を true にしてカラー表示してみたけど、コレ、色の変更はどうやるんだろう…。ディレクトリを cyan にしたいのだけど。と思ったけど、白黒表示でも Dir や exe は bold で表示されるのか。なら、別にカラー表示じゃなくてもいいかしら。

左のウインドウにいるときは左キーで、右のウインドウにいるときは右キーで、親ディレクトリに移れるといいんだけどなぁ。ていうかソレ、あふの操作なのだけど。でも、あまり一般的ではない操作・設定の可能性もあるのか。自分、昔から2画面ファイラーを使ってる人ではないので、そのへんの歴史的な経緯・大勢はわからなかったり。

#6 [pc] _バーチャルキーボード(Virtual Keyboard) レビュー記事

キーボード切替器について検索していたら辿りついた。いいなぁ。これ、もっと色々なことに使えそうな気もするのだけど。

#7 [pc] _人間工学から生まれたエルゴクリック

クリックだけを担当するマウス。…いや、マウスとは呼べないか。なんだろう、コレは。

右手は今までどおり、マウスを操作・カーソル移動。左手でコレを押すことで、疲労を軽減するらしい。

ミニカーの形だの、ヘルメットの形だの、 _ディズニーデザイン だの、実用性に関しては何の改良も行われていないマウスばかり製造・発売するより、こういう試みを市場に投入したほうが面白そうだけどなぁ。「コロンブスの卵」的な製品が出てくる・主流になるかも、と夢想するのだけど。…まあ、マウスにプリントするタイプは開発費とかあまりかからない・一度やれば絵だけ入れ替えて色々出せるだろうから、お手軽な企画 = コストをかけずに挑戦できる = 次々に出てくるのだろうけど。仕方ないか。

#8 [windows][web] _Sleipnir 2.00の正式版が公開「今後はプラグインの開発に注力」

_タブブラウザ Sleipnir 公式ページ

とうとう正式版になったのか。ということでDL・インストールしてみたり。

いきなりエラー :

Mozilla Firefox のお気に入り(ブックマーク)をインポートしようとしたら、エラー出して落ちました。トホ。 _エラー画面(png、58KByte)。

環境は、WinXP Home SP2。読み込ませようとした bookmarks.html は、1.8MB ほどのサイズ。もしかするとそのせいだろうか。あるいは、bookmarks.html 中に、利用できない文字・読もうとすると問題が発生する文字でも混入してるのだろうか。 *1 あるいは、sage関連のブックマーク ―― RSSのURLあたりで問題が起きてるとか? 判らんけど。

何にせよ、出鼻をくじかれた感が。

さておきGeckoエンジンであちこち閲覧 :

さすがにIEエンジンほど機能が実装されてる状態ではないらしい。フォント種類すら選択できないし。ページの最初・最後へのスクロールもできない。スクリプトも全部使用不可。

とはいえ、Firefox よりも動作がキビキビしてる感じ。本来、Geckoエンジンだから遅い、というわけではないんだよなぁ。Mozilla もそれなりにキビキビと動く感もあるわけで、おそらく Mozilla Firefox だけが遅いのだろう。…それとも自分が拡張を入れすぎてるせいかしら。かもしれん。元々、20も30も拡張を入れる人が出てくる、なんて想像をせずにそのへん仕様決定してたんだろうし。

何にせよ、動作速度の面からしても、Sleipnir には可能性があるなと思ったり。とにかく期待大。これでIE並みに機能が実装されたら、もはや Firefox を使う意味など無くなるし、仮に英語版が出れば全世界を席巻しうる存在になるかもしれない。とはいえ、それはまだまだ先の話だろうな…。まずはIEエンジンでの使用時に問題が出ないか、検証・改良していくほうが先なのだろうし。

*1: IEのお気に入りで利用できる文字のみが使われてることを前提にしていると、そのへん問題が出そうな予感。以前、ブラウザ移行でハマった記憶があるのだけど。Mozilla のソレは、IEのお気に入りより、利用できる文字の種類が多かったような…。<いや、記憶が怪しいけど。

#9 [nitjyou] 親父さんが写真を撮りに遠出

帰宅は明日の夜。つくづく、旅行が好きな人だなぁ。

2004/10/13(水) [n年前の日記]

#1 [game] ガンゲージの花

おかげさまで砂漠ステージの花をとることができました。花100個揃った。万歳。しかしコレ、教えてもらわなかったら絶対取れなかったですわ…。 *1

オプションのSTAGE SELECTで :

各ステージに花が何個あるか、かつ、いくつ取ったか表示されるのですな。教えてもらって初めて知った次第。コレを知ってれば、もう少し楽だったかも…うう。

湖ステージ :

花は16個あるはず…ということで確認してみたり。 _地図 を載せときますね。自力で解きたい人は見ないように。…最初、いくら数えても15個しかなくて首を捻ってましたですよ。以前の自分は、操作ミスで偶然見つけたのだろうな。でなきゃこんなの見つからんですわ…。

*1: ステージが始まった時の向きのまま、ひたすらまっすぐ行くのですな。いやー、つらかった。戦車がバンバン砲弾浴びせてきて、向きが変わっちゃうし…。む。今気づいたけど、ステアの歩行モードなら方角が表示されるから、それを頼りにすれば。何故プレイ中に気づかなんだ… >俺。

この記事へのツッコミ

Re: ガンゲージの花 by ゆう    2004/10/15 11:23
おぉやっと見つかりましたカーこちらも見つかりましたよ
地図まで作っていただき感謝しています
んで100個集めたご褒美がアレとは・・・僕は通常攻撃しか使ってないから
あまり意味なかったり・・・にしても時代に恵まれなかったゲームですね・・・
もしあのころPS2が販売されてたら・・・もっといい3Dになっていたのに・・・
まぁ今のままでも十分だけどにしてもステアハードでやってみたんだけど
めっちゃムズイ!!かろうじでノーコンティニューだったけど・・・
そーいやぁ疑問なんだけど毎回終了するたびにゲームオーバーに
なるのはなぜ?
Re: ガンゲージの花 by ゆう    2004/10/15 11:28
ガンゲージのソフトの画像取り出そうと苦労したけど新しい形式になったみたいで取り出せなかった・・・
Re: ガンゲージの花 by mieki256    2004/10/16 13:06
> 100個集めたご褒美がアレとは・・・

ですねぇ(笑) アレはプレイ時間あたりで出てきてほしい項目ですなぁ…

> もっといい3Dになっていたのに

たしかに、もう少し綺麗な画面で見れたら嬉しいでありますな。
昔のPS1のゲームを綺麗に表示してくれるPS1、
とかどこかで作らないものかしらん。…無理か。

> かろうじでノーコンティニューだったけど

スゴイ! 自分はノーコンティニューじゃ無理ですよ…(爆)
どころか最初のステージすら死にまくり… (つД`)

> 疑問なんだけど毎回終了するたびにゲームオーバーになるのはなぜ?

???
なんのことかわからなかったので、もう一度プレイしてみましたが、
ひょっとして、
「エンディングを見ても、その後ゲームオーバー画面が表示される」
ということについての話でせうか? (・_・)?

「ゲームがクリアできなかった」=「ゲームオーバー」
ではなくて、
「ゲームが終わった」=「ゲームオーバー」
だろうから、そのこと自体は不自然さは感じませんが…

(あるいは、メモリーカードに記録するステップと
 ゲームオーパー表示のステップを兼ねる製品仕様にするよう、
 SCEか、社内のどこかから、お達し(?)があったりするんだろうか。)
Re: ガンゲージの花 by mieki256    2004/10/16 13:11
> 取り出せなかった

そういや今回も、何かオマケが入ってるのかしら。
と思って中身覗いてみたけど、何も入ってませんな。…残念。
Re: ガンゲージの花 by ゆう    2004/10/16 20:13
>ゲームオーバーの件について
えーっとですねスタッフロールの後スコア表示の後でセーブ件ゲームオーバーですうーんゲームが終わった=ゲームオーバーは一理あると思いますが
何だか達成感なくなってしまいます・・・

>古いPSを復活させるPSについて
あー確かにあると良いかですね多分3Dデータを計算で変換すれば良いかと・・・

>PSのデータについて
あぁ何かおまけ無いかなーとあさって見たがやっぱりムリッスね
しかも画像を取り出そうと思って早速ソフトをインストして
吸い出そうとしてみたところ!!対応してなかった・・・
多分こーゆーソフトが出たから形式変えたのかなー?
まぁいいやとりあえず無理なもんは無理!!ということで・・・
Re: ガンゲージの花 by mieki256    2004/10/20 07:34
> ゲームオーバーの件

ドラキュラXもプレイしてたのですが、
そちらはエンディング後、ゲームオーバー画面が出てこないんですよね…
メーカーごとに決まってるわけではなく、
チームやディレクターによって、そのあたり違うようですな。

> 3Dデータを計算で変換

3Dデータはソフトごとに独自で持ってる可能性が高いので
後からどうこうは無理でしょうねぇ…
テクスチャ領域からフレームバッファへの転送時に
ムニャムニャするぐらいしかやれることはなさそうな。
Re: ガンゲージの花 by 名無しさん    2005/01/13 13:04
最近始めてみたんですが、砂漠、湖以外に、地下鉄と暗き月でも1個づつ花が見つからんのですよ。
もし心当たりがあれば教えてください。
お願いします。
Re: ガンゲージの花 by mieki256    2005/01/15 01:10
> 地下鉄と暗き月

了解なのです。
ということで近日中に情報をメモしてアプしてみますですよ。
Re: ガンゲージの花 by mieki256    2005/01/15 05:33
ということでメモしてアプしてみました。
http://blawat2015.no-ip.com/~mieki256/diary/img/20050114_gungage_flower_memo01.txt
参考になれば幸いです。(´ー`)
Re: ガンゲージの花 by 猫助    2005/01/18 18:31
ありがとうございます。
これからメモを頼りにクリア目指してがんばるっす!
mieki256さん、ありがとう〜!
Re: ガンゲージの花 by mieki256    2005/01/20 12:33
> クリア目指してがんばるっす!

楽しいガンゲージライフ(?)が送れることを願ってますですー (´ー`)
Re: ガンゲージの花 by 名無しさん    2005/02/11 18:50
おお、未だにガンゲェヂを現在進行形で語ってるところがあるとは!
ハジメマシテ、コレイイデスヨネー
湖と地下鉄と砂漠の情報は有益に使わせていただきました
どうもありがとうございます

ところで、研究所(ラボ?)の花がひとつ見つからなくてこまっとるんですが…
所在ご存知の方が折られたらどうかご教授くださいませ
Re: ガンゲージの花 by 名無しさん    2005/02/11 20:13
あ、見つけてしまいました(死
そしてオマケがコレですが…(;´∀`)
,、'`,、('∀`) '`,、'`
ヽ( ・∀・)ノ┌┛Σ(ノ `Д´)ノ

失礼しました

削除キーは両方ともに1111です
Re: ガンゲージの花 by mieki256    2005/02/12 02:16
> あ、見つけてしまいました

おお。おめでとうございますー (´▽`)

> オマケがコレ

,、'`,、(;'∀`) '`,、'`
たしかに、花集めを繰り返してる時に欲しい気もするオマケでしたね…
エンディングを見た回数と、未ゲットの花の数を双方見て、
使えるようになったほうが良かったような気もしつつ…
でも、実装するとなると別の仕様も増えていくので難しそう… (;'∀`)

2003/10/13(月) [n年前の日記]

#1 折りたたみ自転車

気になったので、少し検索。

_形状がいい。 曲がれるのか不安だけど。

_かなり小さくなりそう。 市販はされてるのかな。

_まさにキックボードと自転車の中間。

_折りたたみ時の厚みがない あたりヨサゲ。走行はツライらしいけど。

この記事へのツッコミ

Re: 折りたたみ自転車 by がんした    2003/10/15 07:59
個人的に「ストライダ」を一押し。
なまじ小さく折り畳まないのに、駅の大型コインロッカーに仕舞える
コンパクトさ、乗ってても折り畳んでも素敵なデザイン。
シティーコミューターの名に相応しい一品。

http://nagoya.cool.ne.jp/alform1/story1_strida.html
Re: 折りたたみ自転車 by mieki256    2003/10/16 01:44
>ストライダ
コレ、いいッスよねぇー。なんといってもデザインがイカス。
しかしリンク先を読んだら、やはりハンドリングに難ありのようですな。

ソレとは別に、オイラ的には価格も問題(爆) 安くても\39,800か…むぅ。
Re: 折りたたみ自転車 by がんした    2003/10/16 07:41
日本の折り畳み自転車は、折り畳んだ状態の最小寸法を重視してて、
実用性は余り考慮されてない気がする。普段倉庫の奥にしまわれてて
年数回使う程度の代物なら、それでイイのだが、自転車はあくまで
実用品ではないかと。最近では災害用品の一つにママチャリを入れる人もいるぐらい。

兎にも角にも、自転車は屋外で利用されタイヤは汚れてるものなのだから、
そこらを考慮して欲しいなと。それに四角く畳んだ所で、
駅のロッカーに収まる訳でなく、あんまり意味無いと思うよ。

それに比べてストライダは良く考えられてる、小さいながらもしっかりとした荷台もあるし。
後は、この辺↓の縦折り式なぞ、どうだろう。
http://www.takayama-cycle.com/click_folding_1.htm
http://www.hakusen.co.jp/_Bike/07_folding_files/01_bridgestone/03_transit_compact/

価格が4万円前後なのは、ちょっとしっかりした物なら一般的な価格ですね。
Re: 折りたたみ自転車 by mieki256    2003/10/18 04:08
>実用性
実用性=走行性、でせうか。
そういやウチにある折りたたみ自転車も走行性は最悪ですわ。
とても遠出しようという気には…結局物置に入れっぱなしで邪魔になってます。

>タイヤが汚れる事を考慮
逆に言うと、本体はあまり汚れないわけで、
タイヤと本体を容易に分離できるなら収納時に楽になるのかも。
もっとも、タイヤ=駆動部分だから分離は難しいのかもしれないけど。

>他の縦折り式
情報thxです。しかし…やはりストライダを見てしまうと見劣り(?)するような。
何よりタイヤや軸(?)が一つに重なるあたり、ストライダはグッとくる…

でも…トリコロールカラーは気になるな…ガンダムっぽいから(爆)

>価格
や。単に今のオイラが貧乏なだけであります (;´Д`)
ていうか自分が今乗ってるママチャリ(17年前に購入)も、
当時は5万ぐらいした記憶があるので、
それからすると逆に若干安いぐらいかもしれず。
…といってもママチャリの価格とは単純に比較出来ないですな(爆)
Re: 折りたたみ自転車 by がんした    2003/10/19 22:05
>実用性=走行性、でせうか。
収納性を考慮した折り畳み方式ではなく、携帯性を重視した折り畳みであって欲しいなと。
そうすれば、電車やバスなど公共交通機関との親和性が良くなる。

>タイヤが汚れる事を考慮
折り畳んだ状態で、バスや電車に乗り込んだ場合、他の乗客に汚れが着くと不味いなと。

>何よりタイヤや軸(?)が一つに重なるあたり、ストライダはグッとくる…
そうそう、死重量が極端に低く MS 軽快さと MA の強靱さを兼ね備えた、
主役メカ級の格好良さがあるよな。アレに陸戦タイプとか、水陸両用とか
長距離狙撃用とかカスタムタイプが出ようものなら、あぁー
Re: 折りたたみ自転車 by mieki256    2003/10/21 02:52
>実用性=携帯性
なるほど、たしかに。そこらへんはまだまだ改善・改良の余地あり、ですな。
であれば、そのあたりにはまだまだビジネスチャンスが転がってる感じも…
…でも上の方の人達は、そういう市場の存在に気づかないだろうな。
車(タクシー等)を使っちゃうから必要性を感じないだろうし(爆)

>他の乗客に汚れが
てことはカバーの類が必要ですな。
タイヤ自体を別に収納するか、あるいは泥除けを変形・延長するか。
泥除けが段階的にスライドして
タイヤをすっぽり覆ったりするとカッコイイかもしれない…

>陸戦タイプ、水陸両用、長距離狙撃用、カスタムタイプ
先生! さっぱりイメージが湧きません!(爆)

つまりはカラーリングの話ですかな。迷彩模様とか、都市迷彩とか…
しかし安全面を考えると、逆に、目立つカラーリングが望ましい気も。
百式よろしく金ピカ仕様とか。…ちと趣味が悪いか。
Re: 折りたたみ自転車 by がんした    2003/10/21 08:33
>陸戦タイプ、水陸両用、長距離狙撃用、カスタムタイプ

相変わらず思いつきで書いてるので、深い設定はありません。
たぶん、陸戦タイプストライダはフレームが骨太で、タイヤは
オフロード走行性の高いタイプで、ギア変速機能が付いてて、
走破性が格段に向上してます。

水陸両用ストライダは文字通り水面走行が可能です。折り畳んだ状態でも
じゃなにならないフロートが付いてます。イメージ的にはバルキリーに
オプションつけたスーパーバルキリーみたいなものだと理解して下さい。

長距離狙撃用ストライダは、軍用モデルでいわゆる「銀輪部隊」というヤツ。
その中でも狙撃手が移動用に乗車するタイプで、音が静かなのと照明の代わりに
暗視ゴーグルとGPSが標準装備で、シリーズ中唯一のパワーアシスト付きです。
Re: 折りたたみ自転車 by mieki256    2003/10/23 23:28
>〜タイプ
なるほど。色々バリエーションを用意できる余地がありますな…
って水面走行!? そんなこと出来るのか?(笑)

>銀輪部隊
その活用法、(・∀・)イイ! 自衛隊あたりで配備しないかな>ストライダ
持ち運びが便利だし、現場で組み立てて運用すれば、
一人あたりの移動性能が一気に向上する…しかも音がしない。
素晴らしい! 隣の某国が攻めてきてもこれで安心!(嘘

2002/10/13() [n年前の日記]

#1 カーチェイス

今頃、龍騎の浅倉逃亡の回を見てるのです。

そう来たか。SPもやられたけど、これもやられた。でも涎を垂らして欲しかった。
うわ。カーチェイスやってるし。予算大丈夫なのか。
サイレンの音で、視聴者に聞こえないけど、会話の内容が容易に想像がつく描写、上手いなと。
子供向けTV特撮番組であんな描写を見れるとは思わなかった。
ビバ! 石田演出&小林脚本!

「ビバ!」の語源って何だろう…


FSB75MHzにしてみました。1.4GHzを1.0GHzで動かしてるわけです。トホホのホ。
画面のスクロールが突然速くなりました。何がどうなってるのやら。
1.0GHzを超えると、あるいは、FSB75MHzを超えると、
表示関係についても何らかの制限がついたりするんでしょうか。わからんなぁ。

_10万円PCですらCeleron1.7GHz の時代に私は何をしているのでしょう。

2001/10/13() [n年前の日記]

#1 SSHとFTP

・SSHでリモートアクセスできました。
・FTPサーバ公開できました。
_(詳細)

2000/10/13(金) [n年前の日記]

#1 ビデオ壊れたかも (/_;)

歯医者の後、自動車学校に問題集の答案を出しに行ったんですが。
受付のお姉さん(というか、おばちゃんか…)が、「あれ?卒業したんじゃなかったの?」と。
…キッツー (T_T)
問題集を終わらせてから実技の予約を、と思ってたんですが予想以上に時間がかかってしまい、2週間近く顔出してなかったもんで。

たまたま空きがあったんで、1回乗ったんですが。
ヤバイや。運転の仕方、ちょっと忘れてるかも。

会長さんのアニメビデオ見てたのです。
GKを見て(流して)たら、いきなり画像がノイズだらけに。
ビデオ、とうとう壊れてしまった…のか…?
学生の頃買ったヤツだし、しかも韓国メーカのだし。
よく持ったというところか…

とりあえず、洋間から別のビデオを発掘。
以前、茶の間で使ってたヤツなんですが。
再生時チラチラと静電ノイズ(っていうの?)が出てしまう症状に見まわれ、弟のビデオと交換、その後洋間に放置、という経緯が。
念の為、クリーニングテープかけた後、そのへんにあったテープを再生してみたところ、これが全然ノイズ無し。
もしかしたら置き場所から来る症状だったのだろうか…?

それはそうと。
「そのへんにあったテープ」に、たまたま「今そこにいる僕」が入ってまして。
すっかり見入ってしまいましたよ。
最終回はともかく、途中はやっぱりスゴいや。

とりあえず、2時間、問題無く見れたし…
これでも…大丈夫…かな…? (-_-;)

1999/10/13(水) [n年前の日記]

#1 (NoTitle) AM6:30頃起床。今日...

AM6:30頃起床。今日はハローワークに行く日。ちゃんとAM9:00頃に行ってきたですよ。ちなみに次で失業保険は終わりです。あー何かお金を稼ぐ手段を考えておかないとだなぁ。

帰ってきてから犬の散歩。グイグイと引っ張られて疲れるのなんの。

昨日調べてた無料サーバ情報を引き続きネットで収集。海外のプロホスティングというところが広告等一切無しでもいいらしく。有料でレンタルサーバ業をやっているのでそれの宣伝として無料サービスもちょっぴり、ってことらしい。情報によると、さすがに本業の片手間にやっているせいかサーバが頻繁にダウンするそうだけど、広告出さなくて済む上にCGI可というのはやはり魅力的なので試しに申し込んでみましたヨ。さて、いつ頃返事が来るものやら。

ふと、NNでもそこそこ見えるようにスタイルシート指定を修正できないかなと思い立ち、このサイトのHTML(というか.cssファイルなんだけど)を修正開始。
…(作業中)…
ダメだー。できん。
いや正確には出来ない事もないけど。でもそれには.html自身を手作業でコツコツと大量に書きなおさないといけない。結局のところ、NN上ではスタイルシートが反映されないタグ(リストとかテーブルとか)を削除しつつ使用可能なタグでレイアウトがさほど変わらないよう置き換えていく、という作業なわけで。そういやフォント指定もNNは完全無視だし。まあフォントに関しては色んなプラットフォームで動かすために管理・処理しきれないのはわかりますけど。その点IEなんてWindowsのことだけ考えてればズルイつーか楽だよね。話によるとMac用のIEは案の定Windows以上に不具合が色々あって大変らしいしー(と、Mac使ってるお医者さんがこぼしてた)。
てなわけで、相変わらずNNだと少し表示が崩れます。ホント根性無しで申し訳無い。文字は最低でも読めるのでそのへんは問題無いのですが。というか、Gekko(だっけ?)出るまで我慢して、っていうべきか… (^_^;)

以上、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