mieki256's diary



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

#1 [nitijyou] 電源コードの配線で少し悩んでいる

親父さんからPC相談。電源の延長コードの途中にテーブルタップを追加する作業をしていたら、その後PCの電源が入らなくなったとのこと。まあ、それは、PCに電源スイッチがあることを親父さんが忘れてたというオチだったのだけど…。親父さんは、いつもPS/2接続のキーボードを叩いて電源を入れていたから…。

それはともかく、親父さんのPC周りの電源コードの配線を目にして怖くなってきた。電源タップに15cmの延長コードが差さっていて、その先に3個口の電源タップが差さっていて、更にその先にまた15cmの延長コードが差さっていて、その先にまた3個口の電源タップが差さっていて…。しかも機器の電源コードが2つ3つ抜けかかっていて…。何か機器が増えるたびに、とりあえず間に合わせで増やしていってこんなことになったんだろうけど…。

これはどうにかせんといかん、とりあえず10個口のテーブルタップがあればなんとかなるだろうかとググって物色していたのだけど。ふと、親父さんが使ってる電気機器の個数が気になってカウントしてみたら、親父さんが今使ってる6個口テーブルタップ x 2 + 3個口タップ1つ、でも間に合うはずで…。一体どうなってるんだ…。

2022/08/19(金) [n年前の日記]

#1 [ruby][windows] Ruby/SDLでスクリーンセーバを作成

Windows10 x64 21H2上で、Ruby 1.8.7, 1.9.3 + Ruby/SDL (rubysdl) 2.1.1.1 を使って、Windows用のスクリーンセーバ(の雛形)を作成してみた。

動作させている様子は以下。解像度が低いけど雰囲気ぐらいは伝わるかと。




Windows用スクリーンセーバに求められる仕様については、pygame でスクリーンセーバを作った際にメモしたソレが多少は参考になるかと。

_Windows用スクリーンセーバについてのおさらい。

動作確認環境。 :

動作確認環境は以下。
  • Windows10 x64 21H2
  • RubyInstaller 1.9.3 p551 i386-mingw32 + rubysdl 2.1.1.1 + ocra 1.3.10
  • ActiveScriptRuby 1.8.7 p330 i386-mswin32 + rubysdl 2.1.1.1 + ocra 1.3.1
  • RyubyInstaller 1.8.7 p330 i386-mingw32 + rubysdl 1.3.1.1 + ocra 1.3.1

セットアップファイル名も一応列挙。
  • rubyinstaller-1.9.3-p551.exe
  • rubysdl-2.1.1.1-mswin32-1.9.1-p243.zip
  • ActiveRuby.msi
  • rubysdl-2.1.1.1-mswin32-1.8.7-p174.zip
  • rubyinstaller-1.8.7-p330.exe
  • rubysdl-1.3.1.1-mswin32-1.8.6-p36.zip

_ActiveScriptRuby and Other packages
_Download Archives - RubyInstaller

Ruby は32bit版を利用。
Ruby は32bit版を利用。
大事なことなので2回言いました。
Ruby/SDLのバイナリが32bitなので、64bit版のRubyに入れて使おうとしても動かないです。たぶん。

ちなみに、Windows用のRuby/SDLは Ruby 1.8 / 1.9用しか存在しないので、Ruby 2.0以降でこういったことはできないと思われます。

利用できるRubyのバージョンや、Ruby/SDL のインストール方法は、以下を参照のこと。

_Ruby/SDLでスクリーンセーバを作れないものか
_Ruby/SDLをインストールしようとしてハマった

ソース。 :

ソースは以下。処理内容は、画面内をRubyのロゴ画像が跳ね回るだけの処理。

_rbsdlsav.rb
require "sdl"
require "Win32API"

APPLI_NAME = "Screensaver sample by using Ruby/SDL"
APPLIT_VER = "0.0.1"

IMG_FILE = "res/ruby_logo.png"

MUTEX_NAME = {
  "None" => "screensaver_rubysdl_sample_fullscreen",
  "fullscreen" => "screensaver_rubysdl_sample_fullscreen",
  "config" => "screensaver_rubysdl_sample_config",
  "preview" => "screensaver_rubysdl_sample_preview",
}

ERROR_ALREADY_EXISTS = 183

# Draw fullscreen
def draw_fullscreen
  SDL.init(SDL::INIT_VIDEO)
  screen = SDL::Screen.open(0, 0, 0, SDL::FULLSCREEN | SDL::HWSURFACE | SDL::DOUBLEBUF)

  img = SDL::Surface.load(get_resource_path(IMG_FILE)).display_format

  x, y = screen.w / 2, screen.h / 2
  dx, dy = screen.w / (60.0 * 3), screen.h / (60.0 * 4)
  count = 0
  looping = true

  SDL::Mouse.hide  # hide mouse cursor

  # main loop
  while looping
    while event = SDL::Event2.poll
      case event
      when SDL::Event2::Quit
        looping = false
      when SDL::Event2::KeyUp
        looping = false
      when SDL::Event2::MouseMotion
        if count >= 120
          rx = event.xrel
          ry = event.yrel
          r = 10
          looping = false if (rx * rx + ry * ry >= r * r)
        end
      end
    end

    # update sprite position
    x += dx
    y += dy
    dx *= -1 if (x <= 0 or x >= screen.w - img.w)
    dy *= -1 if (y <= 0 or y >= screen.h - img.h)

    count += 1

    screen.fill_rect(0, 0, screen.w, screen.h, [0, 0, 0])  # fill bg
    screen.put(img, x, y)  # draw sprite

    screen.flip  # update screen
    SDL.delay(16)  # wait
  end

  SDL::Mouse.show  # show mouse cursor
end

# Draw preview
def draw_preview(hwnd)
  if hwnd > 0
    # /p xxxxxx
    scrw, scrh = get_window_size(hwnd)
    SDL.putenv("SDL_VIDEODRIVER=windib")
    SDL.putenv("SDL_WINDOWID=#{hwnd}")
  else
    # /p 0
    scrw, scrh = 152, 112
  end

  SDL.init(SDL::INIT_VIDEO)
  screen = SDL::Screen.open(scrw, scrh, 0, SDL::SWSURFACE)
  img = SDL::Surface.load(get_resource_path(IMG_FILE)).display_format

  # main loop
  frames = 180 * 5
  frames.times do |t|
    while event = SDL::Event2.poll
      case event
      when SDL::Event2::Quit
        return
      when SDL::Event2::KeyDown
        return if event.sym == SDL::Key::ESCAPE
      end
    end

    x = (screen.w - img.w) / 2
    y = 12 * Math.sin((t * 4) * Math::PI / 180.0) + ((screen.h - img.h) / 2)
    screen.fill_rect(0, 0, screen.w, screen.h, [235, 108, 0])  # fill bg
    screen.fill_rect(8, 8, screen.w - 16, screen.h - 16, [255, 128, 0])  # fill bg
    screen.put(img, x, y)
    screen.flip
    SDL.delay(16)
  end
end

def draw_config
  s = "#{APPLI_NAME}\nVer. #{APPLIT_VER}"
  title = "Information"
  msg_box(s, title)
end

def get_resource_path(filepath)
  # return File.dirname(__FILE__) + "/" + filepath
  return File.join(File.dirname(__FILE__), filepath)
end

# Display messagebox dialog
def msg_box(msg, title)
  msgbox = Win32API.new("user32", "MessageBoxA", %w(p p p i), "i")
  msgbox.call(0, msg, title, 0x40)
end

# Get window size
def get_window_size(hwnd)
  get_window_rect = Win32API.new("user32", "GetWindowRect", "lp", "i")
  buf = "\0" * 256
  get_window_rect.call(hwnd, buf)
  x0, y0, x1, y1 = buf.unpack("l4")
  w, h = (x1 - x0), (y1 - y0)
  return w, h
end

# parse command line option
kind = "None"
hwnd = 0
if ARGV.size >= 1
  s = ARGV[0].downcase.slice(0..1)
  case s
  when "/s"
    kind = "fullscreen"
  when "/c"
    kind = "config"
  when "/p"
    kind = "preview"
    hwnd = ARGV[1].to_i
  end
end

# Mutex
create_mutex = Win32API.new("kernel32", "CreateMutex", "llp", "l")
get_last_error = Win32API.new("kernel32", "GetLastError", "", "l")
release_mutex = Win32API.new("kernel32", "ReleaseMutex", "l", "l")
close_handle = Win32API.new("kernel32", "CloseHandle", "l", "l")

mutex = create_mutex.call(0, 1, MUTEX_NAME[kind])
err = get_last_error.call()
exit if (mutex == 0 or err == ERROR_ALREADY_EXISTS)

# main job
case kind
when "config"
  draw_config
when "preview"
  draw_preview(hwnd)
else
  # fullscreen
  draw_fullscreen
end

if mutex != 0
  release_mutex.call(mutex)
  close_handle.call(mutex)
end

exit
  • draw_fullscreen() が、フルスクリーン表示モードの処理。
  • draw_config() が、設定画面モードの処理。
  • draw_preview() が、プレビューモードの処理。
  • Mutex 云々が、多重起動抑止処理。

使用画像は以下。.rb と同じ階層に res というフォルダを作って、その中に入れておく。

_ruby_logo.png

テストで実行。 :

実行は以下。
ruby rbsdlsav.rb /s
ruby rbsdlsav.rb /c
ruby rbsdlsav.rb /p 0
ruby rbsdlsav.rb
  • /s : フルスクリーン表示で実行。
  • /c : 設定画面を表示。ここではアプリ名をメッセージボックスで表示するだけ。
  • /p 0 : プレビューモード。スクリーンセーバ設定画面を表示した際に、プレビュー窓内に表示されるモード。ウインドウハンドルとして 0 を指定すると、小さいウインドウを表示してテスト描画する。本番では0より大きい数値(10進数)が渡されるはず。
  • コマンドラインオプション無し : フルスクリーン表示で実行するようにしておいた。

exe化する。 :

Windows用スクリーンセーバのファイル拡張子は .scr だけど、実体は .exe ファイル。.exe を .scr にリネームして、スクリーンセーバとして利用する。

今回、Rubyスクリプトのexe化には ocra を利用した。
  • Ruby 1.8.7 の場合、ocra 1.3.1 が利用できる。ocra 1.3.2 以降はエラーが出る。
  • RUby 1.9.3 の場合、ocra 1.3.10 が利用できる。ocra 1.3.11 はエラーが出る。

ocra のインストールは以下。
# Ruby 1.8.7
gem install ocra -v 1.3.1

# Ruby 1.9.3
gem install ocra -v 1.3.10

以下で exe ファイルが生成される。
ocra --windows rbsdlsav.rb res
  • --windows : GUIアプリとして実行する指定。
  • *.rb : 変換したいスクリプトファイル名。
  • res : 画像ファイル等が入ってるフォルダ。*.rb と一緒にフォルダ名を列挙すると exe に同梱される。

スクリーンセーバとして利用する。 :

.exe が生成されたら、.scr にリネームする。以下の場所に .scr をコピーすれば、スクリーンセーバとして利用できるようになる。
  • Windows が64bit版、スクリーンセーバが32bit版のプログラムなら、C:\Windows\SysWOW64\ 以下に .scr をコピーする。
  • Windows が64bit版、スクリーンセーバが64bit版のプログラムなら、C:\Windows\System32\ 以下に .scr をコピーする。
  • Windows が32bit版なら、C:\Windows\System32\ 以下に .scr をコピーする。

今回作ったスクリーンセーバは、32bit版 Ruby で作ったので、C:\Windows\SysWOW64\ 以下にコピーして動作確認した。

exerbではexe化できない。 :

exerb 5.3.0 でもexe化ができないか試していたのだけど、どうやら無理っぽいことが分かってきた。

ちょっと長くなりそうなので _別記事 に分けてメモしておく。

#2 [ruby][windows] exerbでRuby/SDLのスクリプトをexe化したかったけど無理だった

Ruby/SDL 1.3.1.1 を使ったRubyスクリプトを exerb 5.3.0 でexeに変換したかったけど、ちょっと無理っぽい気配になってきた。いや、無理。これたぶん無理。

環境は、Windows10 x64 21H2 + Ruby 1.8.7 p330 i386-mingw32 + rubysdl 1.3.1.1 + exerb 5.3.0。ちなみに、動作確認に使ってる別PCも Windows10 x64 21H2。

症状。 :

exerbで生成されたexeは、変換作業に用いたPC上では動作するけれど、別PC上では動作しなかった。

ss_exerb_error.png

検証に使ったソース。 :

以下は、exerb で exe化できないか試した際のRubyスクリプトソース。及び、exerb に渡す .exyファイル。Ruby/SDLを使ったWindows用スクリーンセーバ(の雛形)で、画面の中をRubyロゴ画像が跳ね回る処理をしている。

_rbsdlsav2.rb
_rbsdlsav2.exy

ちなみに、上記のスクリプト rbsdlsav2.rb は画面に画像を描画しているけれど、画像ファイルをbase64に変換してスクリプト内に含めてある版なので、別途画像ファイルを必要としない。

また、中に含めた画像ファイルは png ではなく bmp にしてある。png にすると、exe実行時、何故か以下のエラーが出てしまうので…。
> rbsdlsav2.exe
rbsdlsav2.rb:197:in `loadFromIO': Couldn't load image from IO: Failed loading png_create_info_struct: 指定されたモジュールが見つかりません。
 (SDL::Error)
        from rbsdlsav2.rb:197:in `get_surface_image_from_base64'
        from rbsdlsav2.rb:75:in `draw_fullscreen'
        from rbsdlsav2.rb:235

作業手順その他については、以下も参照のこと。

_試行錯誤の記録。その2 - exerbと格闘中 - mieki256's diary

調査に使ったツール。 :

ググったところ、Dependencies というツールを使えば、*.so や *.dll が必要としている *.dll 等を調べることができると知った。

_lucasg/Dependencies: A rewrite of the old legacy software "depends.exe" in C# for Windows devs to troubleshoot dll load dependencies issues.

このツールを導入して、sdl.so や sdl*.dll を開いて、どの .dll が要求されているのか調べていった。

原因その1。 :

不具合が発生した原因は2点ある。

原因その1。変換作業に使ったWindows10機には、C:\Windows\SysWOW64\ 以下に、何故かSDL関連のDLLがごっそりほとんど入っていた。おそらく、何かしらのアプリをインストールした際、知らない間に、SysWOW64\以下にSDL関連DLLがコピーされてしまったのだろう…。

そのため、Rubyスクリプトをexe化したソレを実行した際、そのファイルに足りてないDLLがあったとしても、SysWOW64\ 以下から足りてないDLLを呼び出してしまって、故に exe が動いてしまっていた。

しかし、別PCの SysWOW64\ 以下には、SDL関連DLLが全く入ってなかったので、足りてないDLLに遭遇したらどこからも呼び出すことができず、「指定されたモジュールが見つかりません」とエラーを出していた。

原因その2。 :

原因その2.今回足りてなかったファイルは、libfreetype-6.dll だった。sdl.so が SDL_ttf.dll を要求して、その SDL_ttf.dll が libfreetype-6.dll を要求していた。

ところが、そもそも、Ruby/SDL 1.3.1.1 (rubysdl-1.3.1.1-mswin32-1.8.6-p36.zip) には、libfreetype-6.dll が同梱されていなかった…。当然、Ruby 1.8.7 のインストールフォルダにもコピーされていないので、フォルダを眺めてSDL関連DLLを全て列挙したつもりが、libfreetype-6.dll だけ指定が抜けている状態になってしまった。

これがまた困ったことに、libfreetype-6.dll について .exy 内で記述を追記して exe を生成しても、正常に動作する exe にはならない。

と言うのも、exerb には、「各種ファイル名は17文字まで」という謎の制限があるようで、libfreetype-6.dll はその制限に引っ掛かってしまう。

生成した exe を実行すると、「Couldn't modify DLL's name in the import table. The name of the executable file is too long.」とエラーメッセージを出す。「ファイル名が長過ぎて扱えない」と言われているのだと思う。

余談。libfreetype-6.dll は、Ruby/SDL 2.1.1.1 の zip (rubysdl-2.1.1.1-mswin32-1.8.7-p174.zip) の中にあるものを利用してみた。

まあ、Ruby/SDL 1.3.1.1 と 2.1.1.1 のどちらを使うかと言えば、フツーは 2.1.1.1 を使うだろうから…。「Ruby/SDL 1.3.1.1 の zip はファイルが不足している」という罠にハマることは無いだろうなと…。

対策。 :

exerb に .exy を通じて、「各DLLを内包しろ」と指定すると、17文字を超えるファイル名を扱えなくてエラーを出すわけだけど。

しかし、それらのDLLが、exeファイルとは別ファイルとして同梱されている状態なら、17文字制限は絡んでこないので、exeもちゃんと動作してくれる。

つまり、対策としては…。
  • mkexy で生成した .exy に対して、DLL関連を追記して、どうにか1つのexeにしよう、などと考えてはいけない。
  • 必要な DLL は、exe と同階層にまとめて置いておくことを心掛ける。
こうすれば、一応は動作してくれる exe を、exerb を用いて作れなくもない。

ただ、今回は、スクリーンセーバを作りたいという話なので…。できれば、1つのexeファイルで動いてくれるほうがありがたいわけで…。

結論。 :

他の用途ならともかく、Ruby/SDLを使ってWindows用スクリーンセーバを作りたいなら、exerbは諦めてocraを使いましょう。という話になるのかなと。ocraで作ったexeは起動が遅いけど、その分簡単にexe化できるメリットもあるし…。

そもそも、exerb は Ruby 1.8 までしか対応してないので…。今時使われる Ruby は、Ruby 2.x、もしかすると Ruby 3.x だったりするはず。フツーは exerb を使いたくても使えないだろうから、今更な話ではあるなと…。今回、Ruby/SDL を Windows上で使いたいが故に、あえて Ruby 1.8 を使っただけなので…。「せっかく Ruby 1.8 を使うなら exerb もイケるかな」と欲を出しちゃって大変なことになったという…。

2022/08/20追記。 :

Windows上で Ruby/SDL 1.3.1.1 を利用する際に必要になるdllを一応列挙しておきます。
jpeg.dll
libcharset-1.dll
libfreetype-6.dll
libiconv-2.dll
libpng12.dll
libtiff.dll
ogg.dll
SDL.dll
SDL_image.dll
SDL_mixer.dll
SDL_ttf.dll
SGE.dll
smpeg.dll
vorbis.dll
vorbisfile.dll
zlib1.dll

Ruby 2.1.1.1 の場合は、またちょっと違ってくるかと…。rubysdl-2.1.1.1-mswin32-1.8.7-p174.zip 内の dll/ の中には以下が入っているようだけど…。
jpeg.dll
libcharset-1.dll
libfreetype-6.dll
libiconv-2.dll
libogg-0.dll
libpng12-0.dll
libtiff-3.dll
libvorbis-0.dll
libvorbisfile-3.dll
mikmod.dll
SDL.dll
SDL_image.dll
SDL_mixer.dll
SDL_ttf.dll
SGE.dll
smpeg.dll
zlib1.dll

Ruby/SDL 1.3.1.1 と比べて、以下のファイルがリネーム or 追加されている模様。
libogg-0.dll
libpng12-0.dll
libtiff-3.dll
libvorbis-0.dll
libvorbisfile-3.dll
mikmod.dll

2021/08/19(木) [n年前の日記]

#1 [cg_tools][povray] Wings 3D 2.2.6.1 をインストール

ふとなんとなく、3DCGモデリングソフト Wings 3D 2.2.6.1 x64 を、Windows10 x64 21H1上にインストール。SSDが吹っ飛んでから、ずっとインストールしてなかったわけで…。

_Wings 3D
_Downloads | Wings 3D

今現在は 2.2.6 が公開されてるらしい。ただ、Sourceforge上では 2.2.6.1 になってる。後から何か修正したんだろうか…?

_Wings 3D - Browse /wings at SourceForge.net

wings-x64-2.2.6.1.exe をDLして実行。今回は C:\Prog\wings3d_2.2.6.1_x64\ にインストールした。Wings3D.exe を実行すれば起動する。

以前は、何かというと erl.exe がクラッシュしてた記憶があるけれど、このバージョンは特にそういった挙動は見られなかった。

Edit → Preferences → User Interface → Language で、Japanese を選んで再起動すれば、日本語化される。ありがたや。

YafaRay をインストール。 :

Wings 3D だけではレンダリングができないので、外部レンダラーも一応インストールしておく。ひとまず、YafaRay 3.5.1 をインストール。

_Releases - YafaRay/Blender-Exporter

  1. YafaRay.v3.5.1.build.for.Blender.2.79.Windows.MinGW-GCC7.64bit.zip をDLして解凍。任意のフォルダに置く。今回は C:\Prog\YafaRay\ に置いてみた。
  2. Wings 3D の、Edit → プラグイン環境設定 (Plug-in Preferences) → YafaRay... を選択。
  3. Executable に、(YafaRayインストールフォルダ)\bin\yafaray-xml.exe を指定。
  4. Yafaray Plugins Path に、(YafaRayインストールフォルダ\bin\yafaray-plugins を指定。

使い方は、何かしらモデルを作ってから、File → レンダリング → YafaRay、を選択。設定ウインドウが開く。
  • General options → Output で、出力画像フォーマットを選択。
  • Camera → Width, Height で、レンダリング画像のサイズを指定。

POV-Ray をインストール。 :

外部レンダラーとして、POV-Ray 3.7 もインストールしておいた。

_POV-Ray: Download

  1. povwin-3.7-agpl3-setup.exe をDL。実行するとインストールできる。今回は、C:\Prog\POV-Ray\ にインストールした。
  2. インストール直後に povwin-3.7-editor.exe のDL・インストールをするかと尋ねてくるので従う。
  3. Wings 3D で、Edit → プラグイン環境設定 → POV-Ray (.pov)... を選択。
  4. Executable に、(POV-Rayインストールフォルダ\v3.7\bin\pvengine.exe を指定。

使い方は、何かしらモデルを作ってから、File → レンダリング → POV-Ray (.pov)... を選択。設定ウインドウが開くので、設定してOKを押せば、画像の保存場所を尋ねてくる。

その他のレンダラー。 :

他に、Kerkythea というレンダラーも利用できるのだけど…。

_mieki256's diary - Wings 3Dを試用中

以前試用した際、色々問題があったので、今回はインストールしないことにした。

雑感。 :

レンダリングまでやりたいなら、最初から blender を使ったほうがいいのではないかという気もする。blender なら、標準でレンダラーを内蔵してるだけあって、モデリング作業からレンダリング作業までシームレスに繋がってるし…。

例えば Wings 3D Windows版は、マテリアル編集ウインドウを開くだけでも数秒待たされたりするので、モデリング作業だけならともかく、レンダリング用の各種設定もするとなると、ちょっとイライラしてきたりもして。まあ、あくまでモデリングツールだろうから…。

POV-Rayのレンダリング結果がしっくりこない。 :

Wings 3D でモデルを作って POV-Ray でレンダリングすると、どうも妙な感じの結果になる…。

例えば、箱と球だけでモデルを作ってレンダリングするとこうなる。

ball_and_box.png

箱にまでスムージング(?)がかかっているような…。

一応、箱をカッチリ見せる方法は分った。箱の辺をハードエッジにすればいいらしい。やり方は、箱だけ選択 → 辺選択に切替 → 右クリック → エッジ属性の切替 → ハードエッジにする、を選択。ハードエッジになった辺は、黄色い表示になる。

hardedge_ss01.png

hardedge_ss02.png

ハードエッジを指定した状態で、POV-Ray でレンダリングするとこうなる。

ball_and_box_hardedge.png

ちゃんとカッチリした見た目になった。

ただ、球の表面に、四角いゴツゴツした影が…。ポリゴンをたくさん並べて球の形にしているけれど、各ポリゴンの形で影がついちゃってるのだな…。

ちなみに、YafaRay でレンダリングするとこんな感じ。特に何もしなくても箱はカッチリとした見た目になる。

ball_and_box_yafaray.png

おそらく、マテリアル設定を新規作成した際、YafaRay用のマテリアル設定はデフォルトで Auto-smooth が有効になっていて、箱のように各面が90度で繋がってる場合はスムージングがかからない状態になってるのではないかなと。

しかし、球の表面をよく見ると、POV-Ray と同様に、ポリゴン単位で影がついてて、四角いゴツゴツした影が…。

ball_and_box_yafaray_zoom.png

こういうのってどうすればいいんだろう。球に対してサブディビジョンサーフェスをガンガンかけて細かくするしかないのだろうか…? でもそんなことをしたら、後から修正が難しくなるよな…。レンダリング設定で Subdivisions を指定する手もあるけど…。

そもそも、POV-Ray の解説ページを色々眺めてみた感じでは、どうやら POV-Ray は形状を作る際にプリミティブ(球や箱等々)を設置して形を作っていくのが本来のスタイルのようで…。たしかに、大昔のレイトレーシングのサンプルプログラムってそういうアレだったなと…。

「球を表示したいの? じゃあ球を置けばいいじゃん」
「なんでわざわざポリゴンたくさん並べて球モドキ作って『球じゃねえ』とか言ってんの意味わかんない」

そういうことなのかもしれないなと。

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

#1 [windows] MSYS2のminttyを少し触ってた

MSYS2 の mintty の設定を少し変更して弄ってた。環境は Windows10 x64 2004。mintty のバージョンは 3.3.0 x86_64。

mintty の画面上で右クリック、もしくは、タイトルバー上の左端のアイコンを右クリックするとメニューが出てきてオプションを選べるのだけど、そのオプションでカラーテーマを変更できるようで。どうやって増やせるのか調べたら、~/.mintty/themes/ というフォルダを作って、その中にカラーテーマ設定 (.mintty) を置いてやればいいらしい。

_git-bash (mintty) の color theme | | 1Q77
_minttyとlsの色設定をSolarizedに - naktatty64のブログ
_Mintty Themes for Windows
_iamthad/base16-mintty: Base16 for MinTTY
_oumu/mintty-color-schemes: Some color schemes for MinTTY

最初、~/.mintty/themes/ ではなくて、~/.mintty/theme/ を作ってしまって、その中に各ファイルを入れて「反映されないなあ」と悩んでた…。解説記事内のtypoに、してやられた…。

#2 [windwos][linux] img2sixelを試用

端末(?)上で画像を表示するための、Sixel Graphics なる画像フォーマットだか規格だかがあるそうで。

_Sixel Graphicsを活用したアプリケーションの御紹介 - Qiita

MSYS2 に同梱されてる mintty も対応してるらしいので試してみた。

MSYS2自体には、画像を sixel に変換する img2sixel (libsixel) が用意されてないらしいので、VMware Player上で Ubuntu Linux 20.04 LTS を起動して、そちらで関連ツールをインストールして実験した。
sudo apt install libsixel1 libsixel-bin

MSYS2 + mintty から、VMware Player上の Ubuntu に、ssh でアクセス。
ssh UbuntuのIPアドレス

Ubuntu Linux内の適当な画像を、img2sixel で変換。
img2sixel hoge.png

sixel_on_mintty_ss01.png

mintty上に画像が表示された。凄い。本当に表示されてしまった。

もっとも、この場合、VMware Player上で Ubuntu + Xubuntu-desktop が動いてるから、そっちで画像を表示すればええやんけ状態なので、有難みは無い…。

#3 [nitijyou] 首が痛い

首なのか肩なのか背骨なのか分らんけど、なんだかそのへんが痛い。寝ていて目が覚めたら痛みがあって。これが寝違えた状態、なのだろうか…。どうも姿勢によって痛みが走るというか、体を動かした何かの拍子にグワーッとした感じの痛みが。困った。

2019/08/19(月) [n年前の日記]

#1 [anime] 「トムとジェリー ショー 2」を視聴

NHK-BSで放送されていた「ハイキュー!」シリーズを録画してたはずが、どうやら放送が終わっていたようで。おそらくは後番組の「トムとジェリー ショー 2」なるものが録画されてたので、一応視聴。

デジタルなフラット感の気持ち悪さ。 :

今時の「トムとジェリー」も、デジタル制作なのだな…。恥ずかしながら、このシリーズ、全く見てなかったので、こんな映像になっていたとは知らなかった。

完全に塗りムラも無く、フィルム撮影のボケもなく、どこまでも、クリアで、シャープで、フラットな映像。一応、線にペンタッチっぽいものを入れてはあるけど…。いやはや、実に…。失礼ながら、ぶっちゃけ、かなり安っぽい…。

カットアウトアニメの気持ち悪さ。 :

おそらくはカットアウトアニメに近い動かし方も気になった。顔や腕、目鼻口を極力パーツ化して、位置や角度を変えて大まかに動かしながら、必要最低限の部分だけ新規に描く、みたいな。手描きアニメで言うところのタップ割をさらに細かくしてみた感じに近いのかな…。まあ、分類としては、これもまたリミテッドアニメに入るのだろうけど。

手で描いた場合、元絵を正確にトレースしてるつもりでも、微妙に線がずれているので、偶然ではあるけれど、そこにはかすかに動いてる感が付加される。しかしデジタルの場合、元絵をコピペで、寸分違わず、一切の劣化なく、コピーできるわけで…。 *1 アナログ制作のアニメ映像と比べると、完璧過ぎて、逆に気持ち悪い…。

理想が実現すると気持ち悪い場合もある。 :

アナログ制作時代は、塗りムラを無くそうとしたり、正確無比なトレスを目指したり、つまりは、まるで機械が作ったかのような、ミスの無い素材制作が理想とされていたわけだけど。今はPCとCGソフトが普及して、理想的な素材や映像が作れるようになったわけで。

しかし、当時からすれば理想的としか思えないアニメ映像を見ていて、当時より気持ち良くなったかと言うと、むしろ気持ち悪いという…。

初期の東映動画作品を作っていた方々が、手塚治虫と虫プロが提示した「鉄腕アトム」を目にして、「あんなものアニメじゃない」と言い出した気持ちも、なんだかよくわかるというか…。それまでは一々全身を描いて動かしていたのに、口だけパクパクと動いてるのでは、そりゃ気持ち悪いよな…。ソレに近い感覚を、自分は、このカットアウトアニメもどきにも感じたのかもしれない。

しかし、手塚治虫の提唱した、なんちゃってリミテッドアニメも、結局は普及して視聴者に受け入れられたわけで。ソレを考えると、この「トムとジェリー」的なカットアウトアニメもどきも、フツーに普及するし、受け入れられるのだろうなと…。

大体にして、昔のTVゲームの映像だって、そういうアレだったし。枚数の少ないドット絵をスプライトを使って位置を変えて動かしてるだけ。リミテッドアニメの極致とも言える。しかし、そんな映像を見て、子供だった自分達が気持ち悪いと感じたかと言えば、そういうわけでもなく。

そう考えると、今回感じた気持ち悪さは、単に慣れの問題だろうと思えるわけで。ずっとこういうアニメ映像を目にしていれば、全然気にならなくなるのではないかなあ。

「PEANUTS スヌーピーショートアニメ」を視聴。 :

「トムとジェリー ショー 2」の後ろに、「PEANUTS スヌーピーショートアニメ」なる番組も入ってた。

こちらも、カットアウトアニメに見える。しかし、「トムとジェリー」とは全く印象が違った。

あえて手描き感があるよれよれの線にしていたり、塗りの上に紙のテクスチャを付加したり、背景を水彩風の塗りにしたり、つまりはアナログ感を各所でひたすら追求していて。動きのフレームレートは高く、おそらくフルアニメに近いだろうに、見ていて気持ち悪さを全く感じない。

カットアウトアニメも、結局は工夫次第で印象が全く変わるのだな…。

*1: 線や塗りがベクターデータの場合は、という条件付きだけど。ビットマップデータの場合は、拡大・縮小・回転をすると情報劣化が発生する。

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

#1 [python] Pyxelを試用してみたり

Python 3.x を使ってファミコン風の2Dゲームを作れる、Pyxel というライブラリがあるらしくて。

_pyxel/README.ja.md at master - kitao/pyxel

なんだか気になるので、試用してみようかと。とりあえず動作確認だけでも…。

Windows10 x64上で動作確認。 :

Windows10 x64 + python 3.5.4 の環境で動作確認。

以下を実行してインストール。
pip install pyxel

サンプルファイルを用意する。任意のフォルダ内で、以下を実行。
install_pyxel_examples
pyxel_examples フォルダが作成された。中には以下のファイルが入っていた。
01_hello_pyxel.py
02_jump_game.py
03_draw_api.py
04_sound_api.py
05_color_palette.py
assets/

実行は以下。
python 01_hello_pyxel.py
画面が表示された。

ということで、Windows10 x64 + Python 3.5.4 上で、Pyxel はフツーに動いてくれた。

仮想PC + Ubuntu 18.04 LTS 上で動作確認するも問題有り。 :

VMware Player + Ubuntu 18.04 LTS 上でも試してみた。インストール手順は、Debian の場合と同じ。
sudo apt-get install python3 python3-pip libglfw3 libportaudio2 libasound-dev
sudo pip3 install pyxel

サンプルを動かしてみたが…。
install_pyxel_examples
cd pyxel_examples
python3 02_jump_game.py

02_jump_game.py を動かしたら、画面がグチャグチャになった…。

どうやら、背景をウインドウ一杯に拡大表示できてない気配。そのため、画面全体を毎フレーム塗り潰してクリアできないから、画面内がゴミだらけになる模様。

実機 + Linux Mint 18.3上で動作確認するも問題有り。 :

仮想PC上で動かしたから表示がおかしかったのだろうか、実機上で動かせばすんなり動くのかなと思えてきたので、サブPC (CPU・GPU : AMD A6-3500) + Linux Mint 18.3 上で動かそうとしてみたり。

インストールはすんなり出来たように見えたものの、Pyxel のサンプルスクリプトを動かそうとしただけでエラーになった。「glfw version 3.2.1 より低いバージョンではダメだよ」と言われてしまう。

Linux MInt 18.3 は Ubuntu 16.04 LTS ベースのディストリで、Ubuntu 16.04上で libglfw3 をインストールすると、3.1.2-3 がインストールされてしまうらしい。

glfw3をビルドするしかないかな…。と思って以下のページを参考に関係ファイルをビルドしてみたけど、変化無し。これはおそらく、違うファイルをビルドする事例なのだろう…。

_床井研究室 - GLFW3 を Linuxmint にインストールしたときのメモ
_GLFW - An OpenGL library

sudo apt-get install cmake
sudo apt-get install libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev
mkdir ~/glfw3
cd ~/glfw3
wget https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.zip
unzip glfw-3.2.1.zip
cd glfw-3.2.1
mkdir build
cd build
cmake ..
make
sudo make install

Ubuntu 18.04 なら libglfw3 も 3.2.1 になるらしいので…。Ubuntu 18.04ベースの Linux Mint 19 にアップグレードするしかないのかな…。

つまり、Ubuntu 16.04 以下で Pyxel を動かすのは libglfw3 のバージョンのせいで難しいらしい。

というか、pyxel のドキュメントに書いてあった。

_pyxel/README.ja.md at master - kitao/pyxel
> glfwはバージョン3.2.1以上である必要があります。

#2 [linux] Linux Mint 18.3 を Linux Mint 19 にアップグレード

TV台に置いてある薄型PC(CPU : AMD A6-3500、M/B : ASUS F1A75-M)上には、Linux Mint 18.3 をインストールしてあったのだけど。Linux Mint 18.3 (Ubuntu 16.04ベース)では libglfw3 3.1.2 しか入らない。Pyxel を動かすために、libglfw3 3.2.1 以降をインストールしたいので、この際、Linux Mint 19 にアップグレードしてしまうことにした。

_Linux Mint その90 - Linux Mint 19へアップグレードするには・アップグレードの注意事項 - kledgeb

sudo apt install mintupgrade
mintupgrade check

「スナップショットを取ってないから処理を続行できない」と怒られた。timeshift なるものをインストールして、スナップショットを取らないといかんらしい。

sudo apt install timeshift

スタートメニューから timeshift を起動して、スナップショットを作成。Rsync と BTRFS を選ぶ画面では、Rsync を選んだ。保存場所は、本来なら物理的に別のHDDがいいらしいけど、今回は面倒なので Linux Mint 18.3 がインストールされてるパーティションを選択。

1〜2時間ぐらいかかって、スナップショットが保存された。アップグレード作業を続行。
mintupgrade check
mintupgrade download
mintupgrade upgrade

途中で LC_ALL がどうとか言われて、エラーで止まってしまった…。

~/.bashrc に
export LC_ALL=en_us.UTF-8
を追加すると改善されるという話を見かけたので、試しつつ再度 mintupgrade upgrade。

3〜4時間ぐらいかかって、なんとかアップグレードできたような気がする。

timeshiftを導入してスナップショットを作らないとアップグレードさせてくれないあたりがなんだか面倒だなと。もちろん、何かあった時のために、前の状態に書き戻せるわけだから、このほうがいいわけだけど…。時間はかかるけど安心できる、みたいな。

Pyxelは動いた。 :

Pyxel や サンプルファイルをインストールしてみたけれど、仮想PC (VMware Player)上で動かした時と違って、画面はちゃんと表示された。実機で動かせば不具合が出ない場合もあるのだな。

表示はされたが、なんだか動きがガクガクしている気がする…。横スクロールが、クククク、と動いてるような感じで。

AMD A6-3500 ですら重い処理なのか…。でも、3コアの各CPU負荷は45%ぐらいだし…。OpenGL関係かな…。CPUに内蔵されてるGPUだから描画に関しては非力なのだろうか。でも、AMD Aシリーズって、内蔵GPUもそんなに悪くないスペックだったような。

sshでログインすると何かおかしい。 :

Windows10 x64 + Putty で、ssh でログインすると、ログイン時のメッセージが何も出てこなかった。

関連情報をググった感じでは、/etc/update-motd.d/ 以下の記述に従って何かしら出てくる、という話らしいけど。該当ディレクトリを覗いてみると、各ファイルの中身が、ほとんど空の状態で。

もしかして、Linux Mint 18.3 からアップグレードすると、こういう不具合があるのだろうか…。

面倒臭い。Linux Mint 19 をクリーンインストールすることにした。

Linux Mint 19 をクリーンインストール。 :

公式サイトから、Linux Mint 19 Mate の iso を入手。

_Main Page - Linux Mint

UNetbootin を使って、32GB、USB3.0対応のUSBメモリに書き込み。

_UNetbootin - Homepage and Downloads

実機の電源投入直後に DELキーを押してBIOSに入って、起動メディア順を変更してUSBメモリから起動…しようとしたけれど、起動しない。USB3.0対応USBメモリを使ってるせいだろうか。

USB2.0対応、8GBのUSBメモリを発掘して使うことにした。ついでに、UNetbootin ではなく、Rufus を使って書き込んでみた。

_Rufus - 起動可能なUSBドライブを簡単に作成できます

実機のBIOSで、HDDは起動メディアとして使わないように設定。この状態なら、USBメモリから起動してくれた。

1〜2時間ぐらいかかってインストール。

ログインメッセージは出てこないのが正しい模様。 :

クリーンインストールしたのに、/etc/update-motd.d/ 以下は、ファイルは入っているものの、中身はほとんど空に近い状態だった。

どうやら Ubuntu と違って、Linux Mint 19 は、ログインメッセージを最低限の状態にしているようだなと…。Linux Mint 18.3 なら、ずらずらと出てくるので、似たような感じで出力されるものと思い込んでしまった…。

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

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

雷が鳴ったので、12:20-13:30の間、自宅サーバを止めてました。申し訳ないです。

ベンジャミン・フランクリンが雷は電気であることを証明してから約250年ほど経ったけど。未だ人類は、雷を有効活用する術を見つけられていない…。

2016/08/19(金) [n年前の日記]

#1 [nitijyou] Amazonから工具が届いた

数日前に注文してたアレコレが届いた。

- プラスチック向けノコギリ _TAMIYA 薄刃クラフトのこ 74024
- ノコギリ _OLFA ホビーのこ 167B
- カッター _OLFA 特専M型 145B
- 構造材 _TAMIYA ユニバーサルプレートL(210x160mm)

TAMIYA 薄刃クラフトのこは、Amazonのレビューによると、本体はOLFA製、刃の部分がTAMIYA製だそうで。刃が薄いので切れ味抜群だけどすぐにボロボロになるそうで。どの程度の切れ味なのかちょっと楽しみ。

OLFA ホビーのこ 167B は、100円ショップで買ったプラスチック製ケースをチマチマ削りたくて購入。

OLFA 特専M型は、フツーのカッターより鋭いので切り跡が綺麗になるそうで。期待大。

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

#1 [dtm] ボス曲を再作成

以前作ったソレはどうも何か違う気がしたので再作成中。

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

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

雷が鳴ったので、13:25-16:05の間、自宅サーバを止めてました。申し訳ないです。

2013/08/19(月) [n年前の日記]

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

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

ドーンと鳴り始めたので、雷情報ページを見たら、須賀川市の上空にのみ雷雲+雲間雷が。「ヤベー、これはガンガン来るな」と思ったけど、意外とそのまま流れ去ってくれたようで。少しホッとしました。

#2 [dtm] FL Studio + フリーのVSTiでちとハマった

EVM UltraSonique というフリーのVSTiを、FL Studio 11.02 上で鳴らしてたら、wav書き出しが正常にできないことに気付いたり。アルペジオ? シーケンス? だかのプリセットを選んだ時がおかしくて。プレビュー再生してる時はテンポと一致したソレがちゃんと聞こえるのだけど。wav書き出しするとテンポ設定と全く一致しない波形が出てきてしまって。

これがまた、全てが一致しないかというとそうでもなくて。曲が終わる直前だけは、何故か急にテンポが一致し始めるという謎状態。全く鳴らないとか、すぐに固まる等であれば、なんとなく納得もするのだけど。プレビュー再生はできるけど、wav書き出しはできない、てのがよく分からない。FL Studio がいかんのか、VSTiがいかんのか…。

どうやらVSTiのほうにバグがあったらしい。 _MadTracker - Forum - Trouble with EVM Ultrasonique VSTi という投稿記事に、同じ不具合の報告が。FL Studio の問題かと思って、そっちを無駄に探してしまった…。

2013/08/20追記。 :

勘違いだった。FL Studio 11.02 側にバグがあるみたい。

#3 [anime][neta] 新海監督版「北斗の拳」とかどうだろう

「ハート様が…綺麗だ…」「こんなに美しい『ひでぶ』は見たことない…」等々、驚きの声が続々と。

ないない。それはない。

しかし、「綺麗なハート様」って一体どんなキャラデザなんだろう。いや。キャラデザはあのまんまで、撮影処理で綺麗に見せられるものなんだろうか…。肌が油でテカテカキラキラ光ってる感じを再現とか。表面が虹色に見えたりするのだろうか。

血飛沫には、パーティクルを使って味付けするんじゃないかな。もしかすると、各シーンで全然違う血飛沫になってたりして。

新海監督の手掛けるバイオレンスアクション映画とか、ロリコンエロアニメとか、若干見てみたい気も。おそらく、平成のPOP CHASER、てなポジションに…いや…どうだろう…。

そっち方向は、得意にしてる人・向いてる人がたくさん居るのだろうから、あえて挑戦しなくても、ですよね…。新海監督じゃないと切り開けない分野があるのだから、そっちに注力してもらわないと。

#4 [anime][neta] 昔の判断基準って大らか、だったのかな

POP CHASERについて調べてたら、SF・超次元伝説ラルについて気になる話を目にしたのでメモ。

_くりいむレモン - Wikipedia
「触手姦」ジャンルの祖となる作品。ビデオやレーザーディスクでは、「相手が人間ではない」「世界設定などが極めて現実から乖離しているので問題無い」などの理由から、性器が無修正だった。

くりいむレモン - Wikipedia より

昔はそういう判断基準だったのか…。昨今の、児ポ法改正云々のソレを考えると、何だか複雑な気分。

どんどん規制が厳しくなっていって、最終的にはMZ-700の野球拳みたいな画にしないと許されない状態になったらどうしよう。なんだかSFの世界。…まあ、今現在のAA職人さんの手にかかれば、文字の組み合わせでもかなりの画になりそうか。MZ-700の野球拳だって、20年経ったら凄いレベルになったし。

#5 [zatta] 映画のジャンル分けって難しそうだなあ

_映画評論家の町山智浩さんの、映画宣伝における代理店の功罪についての発言 - Togetter という記事を眺めて、なんだか考え込んでしまったり。件の記事には、悪例として、キルビル2を恋愛映画として売った事例が紹介されているわけだけど。そこから、なんだか思い出してしまったことが。

自分、昔、今敏監督の「千年女優」を見た時に、「これはある種の純愛映画だなあ」と思ってしまったのだけど。DVDに入ってた予告映像を見たら、ホラー映画として売り込もうとしてるのが透けて見えて、「おいおい、それは違うだろ」と憤慨しちゃったことがあって。

今敏監督は、「PERFECT BLUE」という、ある種ホラー寄りの映画を作って頭角を現した方なのだけど。おそらく、映画会社としては、既に実績のあるそっち方向で宣伝していきたい、みたいな思惑があったのではないかと。何せ、「千年女優」は、監督の2作目。方向性がまだ見えない。しかも、映画の内容がアレですから。担当者は困っただろうと。だから、「前作同様ホラーですよ」と思わせて売り込むのが手堅い、と考えたのかなあ、と邪推するわけですよ。

ただ、今敏監督がどういうつもりで作ってたのか、そこは分からんわけで。もしかすると、自分が思った「純愛映画」としてジャンル分けをされたら、監督は激怒したのかもしれない。そういう映画じゃねえよと。これのどこが純愛だよと。

でも、もし、自分のような人間が、映画会社の宣伝部に居たとしたら…。「これはホラー映画に見せかけよう」と主張する周囲に対して、「何言ってんスか! どう見てもこれは純愛映画でしょ! そっちで売ってかないとダメでしょ!」と頑固に主張した、のではないかと。

てなことを考えると。ひょっとして、キルビル2の宣伝担当者も、ガチで、「これは恋愛映画だ。カンフーアクションの皮を被ってるけど、本質は愛の物語なのだ」なんて思い込んでたら…。だとしたら、ちょっと責められないなと。まあ、キルビル2を見たことないので分からないですけど。ていうか監督についてちょっとリサーチしたら、「これ、たぶん恋愛映画じゃねえな」と気付きそうな予感もあるけれど。

まあ、とりあえず。映画のジャンル分けって難しいよなあ、と。

何せ未だに、「千年女優」のジャンルが何なのか、自分には分からないですからねえ…。どの層に売り込めそうな映画だったのか、それもさっぱり分かんない…。ジャンル分けや、届けるべきターゲット層の見極めって、難しい問題だよなあ。と思いました。

#6 [zatta] 「店や職場では馬鹿なことするな。やりたいなら自分の部屋でやれ」という話でしかないよなと

ピザの生地でまた馬鹿なことしちゃった人が出たらしくて呆れてしまったのだけど。そのあたりの騒動の何がマズイのかを考えてたら、なんだかシンプルな答えが浮かんできて。
それだけの話だよな…。それを守れてないから怒られるわけで。 *1

コレ、守るのがとんでもなく難しいことかな…。冷凍庫の件も、ピザ生地の件も、ソイツのオナニーみたいなものだけど。フツー、オナニーって自分の部屋でするよね? 店や職場でしないよね? 店や職場でシコシコ始めたら怒られて当たり前だよね?

と、そんなレベルの話に近いのではないのかな、それすら守れないとなると困っちゃうな、と思えてきたわけですが。

ネットの使い方もそうだけど、結局のところ、パブリック空間とプライベート空間の区別がついてない、ってことなのかなあ…。 *2 まあ、官公庁も、Googleのサービス使って若干似たような問題起こしてた記憶もあるので、各空間の区別については若者だけができてない、という問題じゃなさそうだけど。日本の教育って、何か間違ってたのだろうか…。<何故いきなりそんな話に。

そういえば…なんかソレで急に思い出したけど…。20年以上も前、会社の新人研修の時、煙草をトイレで吸って、しかも火の始末をちゃんとしなかった新人が居たらしくて、指導役の先輩が呆れてたっけな…。「研修場所の廊下には喫煙所も灰皿もあるのに、なんでわざわざトイレで吸うんだ」「君達は大卒じゃないのか」「いい歳して中身は中学生か」みたいなお叱りを新人全員が浴びせられる羽目になったようなおぼろげな記憶もあるようないような。

それってつまり、当時もそういう馬鹿が居たという証拠だし、イコール、当時の若者はもうおじさんになってるわけだから、今のおじさん世代の中にもそういう馬鹿がゴロゴロしてる可能性が高い、という話になるんだろうけど。

「場を知る」「場をわきまえる」(?)ための訓練が、日本の教育現場では足りてない、ということになるんだろうか。大昔ならそういうのって、家庭内、もしくは地域コミュニティで躾をしたのだろうけど。戦後、地域コミュニティは崩壊したし、各家庭はそれぞれレベルが違うし。

なんかよくわかんなくなってきました。とりあえず、オナニーは自分の部屋でしましょう。

や。そんなの言われるまでもなく大半の人は「そりゃそうだろ」「当たり前だろ」と思うはずだし、そう思う人が多いからこそ、まだちゃんと騒動になってるんだろうけど。これが騒動すら起きなくなったら、その時は、もう日本は終わりなんだろうなと。

なんか外国ではそういう国が ―― 騒動にならない国がたまにあるようで、「騒動になる日本はおかしい。○○を見習うべき」なんて主張をしてる人も見かけたのだけど。レベル低いほうに合わせてどうすんだ馬鹿、なんでもかんでも外国に合わせればいいってもんでもねえだろ、オマエどんだけ外人にコンプレックス持ってんだヨ、外国の○○が正しいはずだなんて盲目的に思い込んでんじゃねえよ、何をどこに合わせるかはケースバイケースだろ。みたいなことも思いましたよ。とはいえ、かつて日本は全体主義に傾倒し過ぎたから、その反動としてそういう主張が出てきちゃうのかなと邪推もするのだけど。しかし、、その反動で出てきたのであろう主張が、明治時代の西洋中心・白人至上主義や、戦後のアメリカ礼賛ノリと変わり映えしないのではなあ、という気もして。つーか、「外国ではこうだから」派のソレは、「○○くんはファミコン買ってもらったんだよ!」と親に訴えてる幼児と変わらん気もしてきたり。他所は他所、ウチはウチ。じゃないのかと。

しかし、そういった「常識」って、どの段階で身に着けるんだろう? 自分も、どの段階で身に着けたのか…。思い出せない…。少なくとも、身に着けるまでは親や先生を困らせてたのは間違いないのだろうけど。

まあ、なんか色々と考えてしまいました、てなだけの話です。
*1: もちろん、職場の雰囲気を良くするため、潤滑油として、わざと道化を演じてちょっとおバカなことをしてみせる、なんて場面もあるだろうけど。店を潰すところまで行ったらソレは潤滑油の域を超えてますわな。ていうか客が店内で馬鹿なことをしてる事例は潤滑油云々とか全く関係ない話だし。
*2: その、「パブリック」「プライベート」も、0/1でデジタル的に分けられるものじゃないだろうと思うけど。

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

#1 [pc][nitijyou] Lenovo IdeaPad S10-2を弄ってる

SyncToy でサーバにアクセスすると反応が返ってこなくなるので、サーバにバックアップするのは諦めて、USB-HDDのみでバックアップすることにした。…なんで固まるんだろうなあ。

せっかく LAN で繋げられるのだから、メインPCから、直接 IdeaPad の共有フォルダにアクセスできないものかしら。しかし、そのために共有フォルダを作ってしまうと、外部からも覗けてしまう可能性が高くなる。せめてパスワードをかけることができれば…。でも、IdeaPad S10-2 は Windows XP Home 機なので、そのあたり機能が無い・実現するのは面倒で。そもそも、SyncToy が、パスワード付きの共有フォルダにアクセスできるのか怪しいような。

それはさておき。IdeaPad S10-2 上にも、Dropbox、Evernote、Google Drive をインストール。それらの同期サービスを使って、メインPCとIdeaPad S10-2 の間を行ったり来たりするソレを、何か改善できないものかと。

#2 [pc] KeePassを試用中

DropBox を使ってパスワードをメモしたファイルを同期できないかなと。ただ、プレーンテキストの形で入れておいたら、なんだか怖いわけで。暗号化をかけられるツールが無いものかと。

色々検索したが、そもそもパスワード管理ソフトとして、KeePass なるソフトがあるらしく。暗号化もしてくれる上に、Windows,Mac,Linux でアプリが動くから、OSが変わってもデータベースを読み込める・使うことができる。なんだかヨサゲ。

DLして少し触ってみたけれど。入力できる項目数が少ないような…。アカウント名、ログイン名、パスワード、URL、コメント、の5つしかない。サービスによっては3つぐらい入力項目があるものも存在するのだけど…。また、登録日等をメモしておきたい場合もあるわけで。それらを全部コメントに突っ込め、というのも…。

一応、ユーザ独自に項目を増やせるらしいが、それらの項目は設定ダイアログ中の別のタブで表示されてしまう。また、csvファイルをインポートする際は、前述の5つの項目しか読み込んでくれないようで。…xmlで読み込めばもう少しインポート時の自由度が高まるのだろうか。

何にせよ、既にある、パスワードをメモしたファイルを、csvファイルの形にしておかないといけないような気がする。その時々でバラバラな項目を書いてるから、自動化・変換できないな…。整理しておかないと。

2012/08/24追記。 :

csvインポートの内容については、1.x と 2.x で異なるらしい。1.x は前述のとおり、読める項目数が少ないけれど、2.x なら、どの列を何の項目として扱うか、インポート時に指定できる模様。

2011/08/19(金) [n年前の日記]

#1 [nitijyou] エアコンを入れずに済んだ

部屋の温度が27度ぐらい。このくらいだと過ごしやすいのだけど…。

2010/08/19(木) [n年前の日記]

#1 [comic] 「ライドバック」をまた読んだ

後半の展開をアニメで見たかった。

連載途中でアニメ化というのは、メリットとデメリットがあるような気がする。「鋼の錬金術師」などは、原作から乖離したアニメ化と、原作に沿ったアニメ化が許されたけど。フツーは前者のアニメ化で商品展開が終わる場合がほとんどだし。なんだかもったいない気もする。

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

#1 [iappli] テーブルデータが正常に変換されているかどうかを検証中

Perlスクリプトでバイナリ化したファイルから、正しく値が取れているかどうかを確認するJavaのソースを書いていたのだけど。おかしなデータが出てくる…。うーん。

そもそもDoJaエミュレータで結果をダンプするとアホみたいに時間がかかる。テキストでファイル出力する方法…はちと見当たらず。普通のJavaアプリなら、Eclipse 側の実行構成でファイル出力できるらしいのだけど、 Eclipse + DoJaの実行構成にはそういう設定項目が見当たらず。

仕方ないので Javaアプリの形にした。アホみたいに速くなった。

が、データが一部おかしい。そもそもちゃんとバイナリ変換されているのかしら。Perlスクリプト側を見直し。

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

#1 [pc][nitijyou] ノートPC用のワイヤレスマウスを探しているのだけどヨサゲなのが見つからない

マウスが生まれたのは1961年?らしいけど。こんなに年数が経過したのに、未だに使い勝手が今一つなマウスばかりなのは、どういうことなんだろう。いやまあ、ボール式から光学式やレーザー式になり、ホイールがついたりチルトホイールがついたり、有線が無線になったり、色々変わってきてるあたりが関係してるのだろうけど。

ホイールにボタンをつけるのがいかん気がする。 :

_A4tech WWW-11 がお気に入り・操作が快適だった身からすると、そもそもホイールでボタンの機能を「代用」してるのが良くない気がする。

ボタンはボタンとして独立させて、機構を圧倒的にシンプルにして、ボタンの軽さを追求したほうがいいのではないか。3ボタンマウスの中ボタンを100回押すのと、ホイールつきマウスのホイールボタンを100回押すのでは、圧倒的に前者のほうが疲れないはずで。また、ホイールからボタンの機能を排除できれば、ホイールの回転を実現するための機構もシンプルになり、改善がしやすくなるはず。くるくる回るホイールのスリットを光学センサで読み取るだけ、という機構しかそこには残らないのだから、その後の改良作業 ―― 回した時の感触や、ホイールの大きさの調整等、改善を加えていくのもやり易いのではないか。

現状のホイールつきマウスは間違ってる気がしてならない。たとえばの話、左ボタンを押しこまないとクリックできません、なんてマウスはそうそうお目にかかれないわけだけど。しかし、ホイール周りにはそういう設計ミス ―― ホイールを回しづらいとか、ホイールボタンクリックがしにくいとか、そういう不具合が頻発しがち。左ボタン・右ボタンに現れない設計ミスが、ホイール周りには頻繁に現れる、ということは、ホイール周りは根本的に設計思想?発想そのものが間違ってる、と考えるのが妥当ではないか。マウス内部で、複雑な機構になってるのはホイール周りだけではないか。「ここをもっとシンプルにできんかな」と考える技術者がどうして出てこないんだろう。

だいたいにして、「クリック」と「スクロール」という全く異質な操作を同じ場所でやっちまおう、という考えがかなり乱暴過ぎる。ホイール出現当時は「配置スペースをできるだけ稼ぐ・節約する」ためにそういう形を思いついたのだろうけど。他ボタンマウスが出現してる現在においてまで、ホイールボタンの場所だけはケチケチと配置スペースを稼いでみて、それで一体どれだけの効果があるというのか。マウスに改善を加える順番を間違えてないか。

まあ、世の中、独立した3ボタンマウスを使ったことがないまま、2ボタン→ホイールつきマウスに移行した人がほとんどだろうから、こんなもんだと思い込んでるんだろうけど。下手するとマウスの設計をしてる人自身、生まれてこのかた3ボタンマウスを常用した時期がありません、なんて属性だったりするのではないのか、と邪推すら。

そもそも、実質的には3ボタンマウスに近いボタン配置なのに、中指を右ボタンに置く握り方が主流、というあたりからして何かおかしいようにも思う。それは2ボタンマウスの握り方で、3ボタンマウスの握り方じゃないよなと。手の中にあるのは、本当は3ボタンマウスなのに、2ボタンマウス+αと無意識下で認識されてしまってるのだと思う。まあ、3ボタンマウスとして握ってみると実にツライので、2ボタンマウスの握り方になるんだろうけど。何故ツライかというと、ホイールがボタンの代用になってることに無理があるから、としか思えないのだよなぁ…。

そんなことを常々思っているのだけど。メーカから出てくるマウスは「右へならえ」的にホイールボタンつきマウスばかりで。うーん。

#2 [pc][neta] 「自作マウス」という商品ジャンルが出てこないものか

各ユニット・外観ケース等をバラ売りして、それらを自由に選択・組み合わせて動くマウス、みたいな。

店頭販売が大変か。いや。でもないか。たとえば、 計15のユニットを店頭に並べておく = 単純計算で180種類の自社製マウスのラインナップを店頭に並べているに等しい。180種類も店頭に置いてもらうのは大変だけど、15種類なら不可能ではないだろう。そして、180種類もあったら、いくらなんでもユーザの嗜好にピッタリ合致するマウスが見つかるはず。

いずれ特定の組み合わせだけが一際売れている、なんてのが判ってくるだろうから、そこまできたらセット商品・組立済み商品を出す、なんてのもアリかもしれない。

宣伝文句も書きやすい。「ボタンが壊れた! ホイールが壊れた! そんなときも○○のマウスなら安心! ボタンだけ買ってきて取り換えれば、新品同様に! もう、使い慣れたマウスを別のマウスに買い換える必要はありません」とか。

製造も多少楽なのではないか。ユニット形状さえ一致してれば、新ユニットを開発・販売しても、今まで店頭に並べてきた商品群をそのまま活用できるし。

とはいえ、光学式・レーザー式の読み取りユニットは入るが、ボール式ユニットは大きさ的に入らない外観、てのも出てきそう。組み合わせが複雑になる場面もありそうな。

プラモデルとかミニ四駆とか作っている(作っていた?)メーカが参入してこないかな。内部ユニットは無理だとしても、外側のデザインは色々出せそうだし。

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

#1 [anime][neta] プリキュアは仮面ライダー女児向け版だったのか

コメント欄を眺めてるうちにハッとした。「ふたりはプリキュア」って、もしかすると元々は、女児向け仮面ライダーだったのだろうか。いや、わかんないけど。

セーラームーンは、戦隊シリーズを女児向けにアレンジした版、だよな。…考えてみると、ウェディングピーチも東京ミュウミュウも、セーラームーンの流れ ―― 戦隊シリーズのキャラ配置を基礎にしているように思える。つまり、プリキュアが出てくる前までは、戦隊シリーズのアレンジ版しか存在しなかったのだろうか。>女児向けアニメ。

そうすると、女児向けアニメはまだまだ企画の出しようがあるということだろうか。例えば、女児向け版キカイダーとか。女児向け版バロム1とか。女児向け版シルバー仮面とか。 _卒塔婆で敵をタコ殴りする 変身ヒロインが出てくる女児向けアニメなんてのはどうでしょうか。嘘です。実際にそんな場面を出したら、 _「命にタイムリミットがあるから『リミットちゃん』」 ぐらいになんだかアレだよな…。

変身の条件。 :

元々、仮面ライダーは、ベルトの風車のダイナモを風力で回さないと変身できなかった、てな条件があったような気もする。そのために、バイクに乗って変身するんだけど。いや、途中で藤岡弘が大怪我しちゃって、 _バイクの免許を持ってない佐々木剛が2号ライダーを演じたから「変身ポーズ」が誕生して どこでも変身できるようになっちゃった、てな話もあるんだけど。

キカイダー01も、変身するには条件があったような。太陽電池で変身してた気がする。ヘルメットの前のほうがパカッとひっくり返ってたような。…検索してみたら、変身の条件とは、ちと違うっぽい。 _キカイダー01 - Wikipedia によると、太陽光の届かないところでは能力が出ない、ということらしい。

さておき。それら特撮ヒーローの各種設定を鑑みれば、プリキュアも変身するために条件が必要、てな設定がありえたのかもしれない。バロム1よろしく、2人の仲が悪いと変身できないとか。異性とラブラブにならないと変身できないとか。って後者は何かのエロゲでそういう設定があったりしそう。

そういや、先日見た「Re:キューティーハニー」も、腹が減ると変身が溶ける、てな設定があったようなおぼろげな記憶も。

問題は、仮に変身の条件を用意したとしても、それが話作りに良い影響を与えるかどうか、なんだろうな。話作りの制約になるぐらいなら、無いほうがヨサゲ。

調子に乗って描いてみた。 :

卒塔婆はプリキュアの友達、とか
描いてから気づいてしまったが、本来であればプリキュア5の敵はお面をつけてないといかんのだな。<そんなことはこの際どうでもいい。

真面目に描こうと思ったけれど、ピンクのヤツを描こうとしたところで挫折。デザインが細かい…。服のヒラヒラが描けない…。アニメーターの人は、こんなのを5人分も描かなきゃならないのか…。

#2 [anime][comic] _漫画版キカイダー最終回のあらすじ

_永遠の童話・人造人間キカイダー - レス40あたり

_人造人間キカイダー - Wikipedia を眺めていて興味が湧いてアレコレ検索。面白そうだな…。

_キカイダー01 PART1 貧乏な悪の組織の書割最終兵器 :

#3 [cg_tools] Corel Painter Essentials 2 は「はぐれもの」

上記のネタ画像を作成する際に、Intuos 3 に添付されていた Corel Painter Essentials 2 を使って描いたのだけど。riff 形式で保存した後で悩んでしまった。Adobe Photoshop Elements 3.0 では、riff を読み込むことができない…。また、GIMP でも読み込めない。Painter Essentials 2 で psd形式の保存ができればいいのだけど、そんな機能はついてない。仕方なく、Painter 5.5 で riff を開いて、psd で保存し直し。

Painter 5.5 を持っていたから、どうにか Photoshop Elements 3.0 に持っていけたけど。Painter Essentials 2 しか持ってない場合は、おそらく手の打ちようがない。Painter Essentials 2 は、迂闊に使えないなぁ。最初から終わりまで、Painter Essentials 内で作業を完結させる覚悟がないと、使えない。

検索してみたところ、Painter Essentials 3 なら、psd形式の読み込み・書き込みができるらしい。…そのためだけにアップグレードするのもなんだかアホらしいな。そもそも自分、最近はCG等まったく描いてないし。また、画力を鑑みても、宝の持ち腐れナリ。

全然関係ないけど、それぞれ最後に「s」がつくのだな。 :

Painter Essentials。Photoshop Elements。自分は今まで、「s」をつけて日記に書いていただろうか。怪しい。

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

#1 [nitijyou] 須賀川花火大会

だったらしい。自分はその手のイベントに興味がないので知らなかった。

従兄の子供たちが花火大会を見に来た。 :

叔母 伯母+孫3人兄弟来襲。小学6年(男)、4年(男)、1年(女)、ぐらいかな。

兄二人が夜店を見に行ってしまって、妹一人が残されたので、親父さんPCで遊ばせたり、PS1を発掘して遊ばせたり。

レイストームをやらせたら、いきなり宇宙ステージまで到達。ニュータイプや。考えてみたら、自分ぐらいの世代と違って、今の子供は生まれたときからゲーム機が既にあるんだよな。

さておき。花火鑑賞後、従兄が車で迎えに来るまで、次兄と妹で二人同時プレイを始めた。後ろからその様子を眺めていて、
  • 各種メニューを英語表記にしてあると、そこで子供は詰まってしまう。
  • 兄弟が居る家庭では、○人同時プレイは非常に需要がありそう。1人プレイ用だとケンカの種にすらなる。
  • 3D格闘ゲームはケタケタ笑って遊んでた。ダメージを受けたときの動き・表現が、当人達にはおかしいらしい。
  • 音ゲーはルールを理解するまでが一苦労っぽい。結局、プレイの仕方が判らないまま終わった感じ。
  • T社の3Dシューティングは一番多くプレイしていた。ステージの難易度設定が適切なのだろう。
  • K社の2Dシューティングは難しすぎるらしい。3、4回プレイしてたが、1面から先に進めず、「つまんない」と言って終わってしまった。
等の発見が。…子供の居る人と、居ない人では、作るもの・出来るものに、かなりの違いが出てきそうだなと。

2006/08/23修正。 :

伯母と叔母の使い方を間違えていた…! ので修正。

#2 [nitijyou] 喉が痛い

唾液を飲み込むときにズキンとする。喉のあたりが乾燥しきってるような感じ。

買い物に出かけたお袋さんがのど飴を買ってきてくれた。ありがたや。ちょっと楽になった。

#3 [anime] NANA、麻雀の回、と煙草関係

ED映像・曲が変わったのだけど。黒娘が、ずーっと止め絵で煙草を吸ってる。ということは。前のED曲映像が変わったのは、嫌煙団体からの圧力が原因ではなかった、ということですね。…改めて見てみると、OP映像でもガンガン煙草吸ってました。今頃気づいた。

でも、本編のほうでは、黒娘がボーカルとして「肺活量アップ」を目論み、禁煙を始めた模様。なにか妙な感じ。

2005/08/19(金) [n年前の日記]

#1 [nitijyou] サーバ、復旧しました

ご迷惑(?)をおかけしました。なんとか公開できる程度には復旧した、はず、ですが、さて。

もしかすると一部のファイルが壊れてたりするかもしれんですが、その時は教えてくださいであります。

もっとも、壊れてるファイルがあるからといって、正常なファイルが旧HDDから取り出せるかどうかは怪しいのだけど。でもまあ少なくとも、「あー、やっぱり壊れてるファイルがあったのか…」と判って精神衛生上よろしい効能が。

/home の容量が増えました :

30GB → 60GB 程度には増えたという。

まあ、妹のノートPCのHDD容量が少ないので、増量分はソレのバックアップ用として使われる可能性が大なのかもしれず。

考えてみたら自宅サーバに新規購入パーツをつけてやるのはこれが始めてかも :

今までは「余ったパーツの再利用」というポリシーでやってたけど。ここにきて、「HDDの信頼性だけはいかんともしがたい」という結論に。

この記事へのツッコミ

サーバ復旧後のテスト書き込み by mieki256    2005/08/19 10:07
テステステス
Re: サーバ復旧後のテスト書き込み by けいと    2005/08/19 23:38
ほーらだんだんRAIDにしたくなーるぅーー
RAID ! RAID ! RAID ! by mieki256    2005/08/20 07:14
> ほーらだんだんRAIDにしたくなーるぅーー

嗚呼…いいっスねぇ。RAID。したいなー。したいよー。
でも、同じHDDを2つ並べるというのがなんだかもったいなくて… (つД`)

故障したときの復旧作業で取られる時間や、
万が一、ファイルがことごとく壊れたときの状況を考えると、
もったいないどころか極めてお得な感もありますけどね…

#2 [vine][linux] まだ残ってる作業

namazu for hns の設定とか。hnsローカルミラーシステムの設定とか。

namazu for hns の設定 :

_2004/05/17_2004/05/18 あたりにも設定してたらしい。

念のため、インデックスを再作成。
$ cd ~/diary/bin/
$ ./hns-index2 clean

ユーザのcrontabを設定。
$ crontab -e
と打って、以下を追加。
30 5 * * * /bin/sh /home/ユーザ名/diary/bin/hns-index2

ちなみに、crontab -e で編集されるファイルは、/var/spool/cron/ 以下にあるらしい。 _cron の設定ガイド というページが参考になりそう。メモ。

hnsローカルミラーシステムの設定 :

_2004/11/02 に設定してた。

必要なパッケージをインストール。
# apt-get install perl-libwww-perl

~/diary/bin/hns_linkarc.pl を実行すれば取得してくれるのか。crontab で設定。
$ crontab -e
25 7 * * * /home/ユーザ名/diary/bin/hns_linkarc.pl
…以前の設定ファイルと同じにしたけど。もしかして、
25 7 * * * /bin/sh /home/ユーザ名/diary/bin/hns_linkarc.pl
のほうがいいのだろうか?

一応念のため、自分の hns_linkarc.pl を晒しておこう…。追加したところは、
  • mkdir でロック処理を入れた。
  • ファイルが既に存在するときは新たに取得しない条件分岐を入れた。
  • 既に存在してるファイルを表示するかしないかの条件分岐を入れた。
ぐらい。のはず。たぶん。
#!/usr/bin/perl
# Last updated: <2005/02/14 05:23:04 +0900>
#==============================================================================
#   hns_linkarc.pl hnsファイルに現われるURLをアーカイブ
#       $Id: hns_linkarc.pl,v 1.1.1.1 2003/09/17 14:25:40 kei Exp $
#==============================================================================

use strict;
use File::Find;
use LWP::Simple;

my $beskip      =   0;      # 0 = file exist not check / 1 = file exist check
my $benotdisp   =   0;      # 0 = exist file disp / 1 = exist file not disp

my $HNF_DIR     =   '/home/USERNAME/diary/';
my $ARCHIVE_DIR =   '/home/USERNAME/public_html/archive';
my $LOCK_DIR    =   '/home/USERNAME/diary/log/hns_linkarc_lock';

my @EXCEPT_URL  =   (
    'http://blawat2015.no-ip.com/',
    'http://members.jcom.home.ne.jp/',
    'http://www.google.com/search',
    'http://2ch.ohayou.com/2ch.html',
    'http://airmail.sakura.ne.jp/~komugi/gimp/bbs/treebbs.cgi',
    'http://app.memorize.ne.jp/d/28/66930/2003/08/11',
    'http://classical.ddo.jp/island/windows/program/autoping.html',
    'http://east.portland.ne.jp/~sigekazu/css/ascii.htm',
    'http://relax.dip.jp/archives/000160.php',
    'http://sip.jtd.jp/top.html',
    'http://vespa.cla.kagoshima-u.ac.jp/yakimono/other-lik/kanntou/MASIKO.HTM',
    'http://www.ben-kyo.com/orca/tip.html',
    'http://www.ingjapan.ne.jp/hori/',
    'http://www.me.ics.saitama-u.ac.jp/~hira/emacs/howm/index-j.html',
    'http://www.ohayou.com/2ch/main/',
    'http://www.post1.com/home/hiyori13/friday.html',
    'http://www.protoformproject.com/dvd/drawings/domocon.GIF',
    'http://www2.halex.co.jp/yohoushi/co_edu1000/1_201091.htm',
    'http://www.me.ics.saitama-u.ac.jp/~hira/emacs/howm/index-j.html',
	'http://www.jsdlab.co.jp/~kei/xyzzy/xyzzy2.html',
	'http://ash.or.jp/code/ctrltbl.htm',
	'http://homepage2.nifty.com/m_kamada/di200501.htm',
    );


my  ($LastCheck, $Now, %Rlink);

my $retry = 5;
while (!mkdir($LOCK_DIR, 0755)) {
	if (--$retry <= 0) {
		print "BUSY\n";
		exit(0);
	}
	sleep(1);
}


&main();

rmdir($LOCK_DIR);

exit(0);


sub main    {
    my (@stat, $last);
    my ($lastfile);

    $lastfile = "$ARCHIVE_DIR/.last_check";
    if (! open(FILE, $lastfile)) {
        $last = 0;
    }
    else {
        $last = <FILE>;
        chomp($last);
        close(FILE);
    }
    $LastCheck = $last;
    $Now = time();

    open(FILE, "$HNF_DIR/conf/rlink.txt");
    while(<FILE>) {
        chomp;
        if (/^([^\s]+)\s+(.+)$/) {
            $Rlink{$1} = $2;
        }
    }
    close(FILE);

    find(\&hnf_check, $HNF_DIR);

    open(FILE, "> $lastfile");
    print FILE "$Now\n";
    close(FILE);
}


sub hnf_check {
    my (@stat, $last, $file);
    my ($file);

    $file = $_;
    if ($file =~ /^d[0-9]+\.hnf$/) {
        @stat = stat($file);
        if ($stat[9] >= $LastCheck) {
            hns_scan("$file");
        }
    }
}


sub hns_scan($) {
    my ($file) = @_;
    my ($savename, $url);

    print "$file\n";
    open(FILE, $file);
    while (<FILE>) {
        if ($_ =~ /^(LINK|LSUB|LNEW|LSTRIKE|LIMG)\s+((http:|ftp:)\S+)/) {
            fetch($2);
        }
        elsif ($_ =~ /^(RLINK|RLSUB|RLNEW)\s+(\S+)\s+(\S+)/) {
            $url = $Rlink{$2} . $3;
            if ($url =~ m!^http://|ftp://!) {
                fetch($url);
            }
        }
    }
    close(FILE);
}


sub fetch($) {
    my ($url) = @_;
    my ($hit, $savename);

    $url =~ s/#.+$//;
    $hit = 0;
    foreach my $except (@EXCEPT_URL) {
        if ($url =~ /$except/) {
            $hit = 1;
            last;
        }
    }
    if (! $hit) {
        $savename = $url;
        $savename =~ s/\//!/g;
        if ( $beskip ) {
            if ( -e "$ARCHIVE_DIR/$savename" ) {
                print "\t\t\t\t$url\n" unless $benotdisp;
            } else {
                print "\t$url\n";
                mirror("$url", "$ARCHIVE_DIR/$savename");
            }
        } else {
            print "\t$url\n";
            mirror("$url", "$ARCHIVE_DIR/$savename");
        }
    }
}

#3 [vine][linux] /home/httpd/dummy を作成

ワーム系アクセスに対してVirtualHost設定で対処してるのだけど。
/etc/rc.d/init.d/httpd configtest
をすると、「/home/httpd/dummy が存在しないよ」と言われるわけで。ということで、該当ディレクトリを作成。

#4 [vine][linux] PHPをインストール

_釣ったよ! (釣りとコンピュータ) - PHPのページ を参考に。Vine 3.1 に PHP4 を入れた。
# apt-get update
# apt-get install php php-apache
/etc/php.ini を、件のサイトのオススメと同じく修正。
;
; - 通知以外の全てのエラーを報告
; -------- コメントをはずす
error_reporting = E_ALL & ~E_NOTICE
;
; - エラーのみを報告
;
;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
;
; - 全てのエラーを報告
; -------- コメントにする
;error_reporting = E_ALL

動作確認も件のサイトを参考に。
以下のようなファイルをエディタで作成して、ApacheのDocumentRootより下の階層のフォルダへ「.php」という拡張子で保存してください。(たとえば、/home/www/public_html/info.phpへ保存)

<?php phpinfo() ?>

ブラウザで、上記ファイルを表示します。(たとえば、http://localhost/info.php) これでphpの動作環境が表示されればインストールは正常です。動作が確認できたら、セキュリティ上、ここで作成したxxx.phpは削除しておくことをお勧めします。
動いた模様。ありがたや。

#5 [vine][linux] _Webalizer のインストール

_webalizerの検索語の日本語対応の話

ありがたい。webalizer-2.01.10-0vl3tpu0.src.rpm を利用させてもらってインストールしたり。
# cd ~/rpm/SRPMS/
# wget http://tyche.pu-toyama.ac.jp/~a-urasim/webalizer/webalizer-2.01.10-0vl3tpu0.src.rpm
# apt-get -s install gd-devel libpng-devel freetype-devel
# rpm --rebuild webalizer-2.01.10-0vl3tpu0.src.rpm
# cd ~/rpm/RPMS/i386/
# rpm -ivh webalizer-2.01.10-0vl3tpu0.i386.rpm
毎日作成されるより1週間に1回作られるほうがいいかなと思ったので、webalizer.cron を移動。
# mv /etc/cron.daily/webalizer.cron /etc/cron.weekly/

_日記サーバ移行計画 :

おお。ちょうど知りたかった情報が多々。素晴らしい。ありがたや…。

_Webalizerインストール - マロンくん.NET :

前述のパッケージで上手くいかなかったときは、この方法を試してみやうかしら。こちらは、出力後のhtmlに対して処理をする方法。

_VineにJcode.pmをインストール :

# apt-get install perl-Jcode
でOKらしい。

#6 [vine] _nlog(n): CPU の動作周波数が低過ぎる - cpufreqd が正常に動作していない

_Gentoo Linux Users Group Japan - 電力管理ガイド

cpufreqd ってCPUの速度を遅くしてくれるのか…。ウチのはPenIIIだから関係なさげ。無効にしておこう。
# /etc/rc.d/init.d/cpufreqd stop
# chkconfig cpufreqd off
# chkconfig --list cpufreqd

ふと気になって /var/log/messages を見たら下のようなメッセージが。
Aug 17 22:49:11 XXXXXXXX kernel: cpufreq: Intel(R) SpeedStep(TM) for this chipset not (yet) available.
やっぱり利用可能ではないらしい。

#7 [linux] _@IT:lessコマンド終了時の画面クリアを防ぐには

alias less='less -X'
-X をつけると消さずに済むらしい。

#8 [linux] _ITmedia : Linux Tips「アカウント作成時にドットファイルなどを作りたくない」

useradd に -M オプションをつけるとドットファイルを作らずに済むらしい。-M ってそういう指定だったのか。

#9 [linux] _起動時にNumLockをオンにするには

Linuxを起動したときは、NumLockがオフになっている。これをオンにするには、/etc/rc.d/rc.sysinitに以下の行を追加する。追加する場所は、最後尾が無難だろう。作業が終わったら、shutdownコマンドでLinuxを再起動する。
for tty in /dev/tty[1-9]*; do
    setleds -D +num < $tty
done

_ITmedia : Linux Tips「Linuxの起動時にNUM Lockキーをオンにさせておきたい」 :

いくらBIOS上でNUM Lockキーをオンに設定しておいても,Linuxの起動後にはオフになっていると感じたことがないだろうか。そのような場合には,rc.sysinitファイルのキーマップ定義を付け加えよう。まずは,次の7行が記述されている個所を見つけよう。この個所の直後に,次の行を加えよう。これでLinux起動後にNUM Lockがオン状態になる。
if [ -n "$KEYMAP" ]; then
  # Since this takes in/output from stdin/out, we can't use initlog
  echo -n "Loading default keymap"
  loadkeys $KEYMAP < /dev/tty0 > /dev/tty0 2>/dev/null && \
  success "Loading default keymap" || failure "Loading default keymap"
  echo
fi
for tty in /dev/tty[1-9]*; do
    setleds -D +num < $tty
done

後者の方法で上手くいった、ように見える :

vine の場合、該当部分は下のような感じ。
if [ "`/sbin/consoletype`" = "vt" ]; then
 # Load keymap
 if [ -x /bin/loadkeys ]; then
 KEYTABLE=
 KEYMAP=
 if [ -f /etc/sysconfig/console/default.kmap ]; then
  KEYMAP=/etc/sysconfig/console/default.kmap
 else
  if [ -f /etc/sysconfig/keyboard ]; then
    . /etc/sysconfig/keyboard
  fi
  if [ -n "$KEYTABLE" -a -d "/usr/lib/kbd/keymaps" -o -d "/lib/kbd/keymaps" ]; then
     KEYMAP=$KEYTABLE
  fi
 fi
 if [ -n "$KEYMAP" ]; then
  # Since this takes in/output from stdin/out, we can't use initlog
  if [ -n "$KEYTABLE" ]; then
    echo -n $"Loading default keymap ($KEYTABLE): "
  else
    echo -n $"Loading default keymap: "
  fi
  loadkeys $KEYMAP < /dev/tty0 > /dev/tty0 2>/dev/null && \
     success $"Loading default keymap" || failure $"Loading default keymap"
  echo
 fi
 for tty in /dev/tty[1-9]*; do    ← 追加
   setleds -D +num < $tty         ← 追加
 done                             ← 追加
 fi

 # Load system font
 if [ -x /sbin/setsysfont ]; then
    if [ -f /etc/sysconfig/console/$SYSFONT.psf.gz -o \
         -f /usr/lib/kbd/consolefonts/$SYSFONT.psf.gz -o \
         -f /etc/sysconfig/console/$SYSFONT.gz -o \
         -f /usr/lib/kbd/consolefonts/$SYSFONT.gz -o \
         -f /lib/kbd/consolefonts/$SYSFONT.gz -o \
         -f /lib/kbd/consolefonts/$SYSFONT.psf.gz ]; then
       action $"Setting default font ($SYSFONT): " /sbin/setsysfont
    fi
 fi
fi

#10 [anime] BJ、戦争の回

戦争はあまり関係なかったなぁ…。いや、戦争時という設定がないとこういう話は作れないか。

#11 [vine][nitijyou] 18:45-20:45まで雷が鳴ってたので自宅サーバを落としてました

外がビカビカ光りまくりだったので落としてましたです。申し訳ない。

安定利用をするなら、有料でサーバスペース等借りたほうがいいですな。電気代もかからないし、セキュリティ面も面倒臭くないし。

うあ。また雷が鳴り始めた…。(20:56現在) :

参るなぁ。まあ、ヤバくなってきたらまた落とすです。申し訳ない。

アクセスできなくなったときは「福島県の中通り地方で雷が鳴ってるんだなぁ」と思ってくれればと。<なんだかな。

#12 [vine] VNCをインストール

Windows から Linux を、あるいは、Linux から Windows を、あるいは、Windows から Windows を遠隔操作できるソフト。

妹のノートPCは WinMe が動いてるせいか GIMP が起動しない。ので、最悪 Linuxサーバに vnc を使ってアクセスして利用できるようにならないかと。速度は遅いだろうけど。一応「お試し」ぐらいはできるだろうと。

Windows側のインストールと起動 :

ブラウザでもアクセスできるらしいけど、表示色が少ない等不便なところもあるので、専用ビューワを使ったほうがよさげ。

一応、Linux側は設定済みという前提で。

VNCビューワをDL・インストールする。 _RealVNC のサイトから辿っても取得できるけど。 _RealVNC日本語インストール版 があるらしいので、せっかくだから日本語版をインストール。

後は、VNCビューワを起動して、「サーバ名:1」とか「サーバ名:2」とか入力して、パスワード入力をすればOK。ちなみに、サーバ名の後ろの番号はディスレプレイ番号。VNCサーバが何番で待ってるかで違ってくる。

ウインドウを閉じれば接続も切れる、のかな。

Javaが動くブラウザを使っているならブラウザからアクセスすることもできるらしい :

http://ホスト名:5800+ディスプレイ番号/
にアクセスするのだとか。

例えば、
  • ホスト名 = hoge
  • ディスプレイ番号 = 1
だったら、
http://hoge:5801/
となるし。
  • ホスト名 = fuga
  • ディスプレイ番号 = 2
だったら、
http://fuga:5802/
になるらしい。

Linux側のvncserverインストール・起動・終了 :

ここから先はサーバ管理者の仕事。

インストール。
# apt-get install vnc-server

とりあえず、Linux側で vncserver 起動。putty等を使って ssh でアクセス中に打ち込んでみる。
$ vncserver :1
最初の起動時はパスワードを尋ねてくる。

画面の大きさや色のモードを指定するときは、
$ vncserver -geometry 992x704 -depth 24 -pixelformat RGB888 :1
といった感じにするらしい。与えてるオプションの意味は、
-geometry 992x704
画面サイズ。
-depth 24
色のモード(8,16,24)。
-pixelformat RGB888
サーバが使用するピクセルフォーマット。RGBnnn or BGRnnn。~/.vnc/ 内のログを見たら、サーバとクライアントで合ってなかったみたいなので、指定してみたり。
ちなみにこのサイズ(992x704)は 1024x768 のデスクトップで使ってるときにイイ感じなサイズ、という噂(?)。

vncserver 終了方法。
$ vncserver -kill :1

長々と打ち込むのが面倒なときは、~/.bashrc に alias でも書いておく。
alias vncstart='vncserver -geometry 992x704 -depth 24 -pixelformat RGB888 :1'
alias vncstop='vncserver -kill :1'
次回ログイン時に修正内容は有効になるけど、修正後の ~/.bashrc の変更をログアウトせずに反映させたいときは、
$ source ~/.bashrc
と打つ。

これで、
$ vncstart
$ vncstop
で起動・終了ができる。

でも、一々こういうことをするのも面倒。vncビューワでアクセスしたら自動的に起動するようにしたい。たしか inetd がどうとか…。今後の課題。

vncサーバ側の設定 :

~/.vnc/xstartup に書くことで何をどう表示するか指定できる…らしい。/etc/X11/xinit/xinitrc が参考になる模様。というか。
$ cp ~/.vnc/xstartup ~/.vnc/xstartup.orig20050819
$ cp /etc/X11/xinit/xinitrc ~/.vnc/xstartup
こうやって丸々コピーしちゃってもいいような気も。

/etc/hosts.(allow|deny) に以下を追加して、利用制限をつける…らしい。

/etc/hosts.deny に追加。
Xvnc: all
これで、基本的には vncserver ≒ Xvnc がどこからも使えない状態になる、はず。その上で使える条件を指定していく。

/etc/hosts.allow に追加。
sshd: localhost 192.168.1.0/255.255.255.0
Xvnc: localhost 192.168.1.0/255.255.255.0
これで 192.168.1.x の IP からは使える状態になる。のかな。たぶん。

inetd起動を設定 :

_2005/02/11 にcoLinuxの設定で似たようなことをやってたので参考にしつつ作業。

/etc/services に追加。
vnc-1152x864x24     5950/tcp
vnc-1152x864x8      5951/tcp
vnc-1024x768x24     5952/tcp
vnc-1024x768x8      5953/tcp

/etc/inetd.conf に追加。(ただし、これは失敗例。)
vnc-1152x864x24 stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 1152x864 -depth 24 -pixelformat RGB888
vnc-1152x864x8  stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 1162x864 -depth 8 -cc 3
vnc-1024x768x24 stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 992x704 -depth 24 -pixelformat RGB888
vnc-1024x768x8  stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 992x704 -depth 8 -cc 3

gdm と xvfb(XOrg-Xvfb) をインストール。ちなみに、gdm は既に入ってた。(Vine 3.1 の場合) また、xvfb は要らないかもしれず。
# apt-get install gdm XOrg-Xvfb

/etc/X11/gdm/gdm.conf を修正。
[daemon]
KillInitClients=false
[xdmcp]
Enable=true

inetd 再起動。
/etc/rc.d/init.d/inet restart

という感じでやってみたのだけど。上手くいきませぬ。Win側のビューワを起動して「ホスト名:50」を打っても、ユーザ名の入力欄はグレー。パスワードしか尋ねてこない。しかも、パスワードを打ってもアクセスできないと言われる。本来ここで gdm が出てこないといかんはずだけど…。

/etc/inittab を修正して、RunLevel 5(グラフィカルログイン)でOSを起動してみた。相変わらずダメ。

情報を探してるうちに、 _VNC 3.Xを使用している場合は「-SecurityTypes None」オプションはいらない という話を見かけた。「3.X は要らない」ということは、「4.X では要る」ということかしら。 _VNC覚書(VineLinux3.0(inetd起動用)) というページには、vnc認証に関連するオプション、と書いてある。

/etc/inetd.conf への記述の中で、
-securitytypes none
をそれぞれつけてみた。こんな感じの記述に。(これでもまだ足りない。)
vnc-1152x864x24 stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 1152x864 -depth 24 -pixelformat RGB888 -securitytypes none
vnc-1152x864x8  stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 1162x864 -depth 8 -cc 3 -securitytypes none
vnc-1024x768x24 stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 992x704 -depth 24 -pixelformat RGB888 -securitytypes none
vnc-1024x768x8  stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 992x704 -depth 8 -cc 3 -securitytypes none

inetd 再起動。
/etc/rc.d/init.d/inet restart

RunLevel 5、かつ、この指定なら、Win側のビューワでアクセスした際に gdmらしきログイン画面が出てくる。これで正解なのかしら?

/etc/inittab を修正して、RunLevel 3(テキストログイン)でOSを起動後、Win側からアクセスしてみた。これはダメ。テキストログインにするとダメか。

/etc/X11/gdm/gdm.conf を修正して、/usr/bin/X11/Xvfb を使うように指定してみた。これもダメ。

要するにあらかじめgdmが起動してないからダメってことかも :

RunLevel 5(グラフィカルログイン)の場合、既にgdmが起動してるから上手くいくのだろうな。

となると、どうやって事前に gdm を起動しておくかという話になるけれど。少なくとも coLinux + Debian の設定をしてたときは、標準でコンソールしか表示されてないのに gdm を起動させておくこともできたわけだから…。何か手はありそうな気もする。

別の方法…vncserverをサービスとして起動しておく方法も試してみたり :

/etc/sysconfig/vncservers に追加。
VNCSERVERS="1:hoge 2:fuga"
ディスプレイ番号1をユーザ hoge に、番号2をユーザ fuga に割り当てる。

サービスとして起動。及び、登録。
# /etc/rc.d/init.d/vncserver start
# chkconfig vncserver on

「ホスト名:ディスプレイ番号」でアクセスすれば、使える。けど。このやり方だと使わないときですら常時 X が裏で動いてるように見える。よろしくない。使うときだけ存在してほしいのだけど。

グラフィカルログインでも構わんか :

今までずっとテキストログインにしてたからそれでなきゃと思ってたけど。どうせサーバ機の前で直接ログインすることは少ないのだし。

_coLinux で Vine Linux 3.0 を動かしてみました という記事を眺めてたら、そちらの中でも RunLevel 5にしていた。ということは、それしかないか。

試しに RunLevel 5 にして再起動。…アレ? 画面はテキストログインのまま。もしかして、Xvfb を gdm.conf に指定したことで、Linux 側ではグラフィカルログインにならずに済んだのだろうか。

違った。
[servers]
0=Standard
[servers]
# 0=Standard
としてコメントアウトしてたのが原因っぽい。逆に言うと、そこをコメントアウトしておけば、RunLevel 5 でもグラフィカルログインにならないと。たぶん。

一部のフォントがおかしい :

vnc経由で emacs を起動しようとすると「フォントがないよ」と言われる。

/etc/inetd.conf 中の vnc関連記述部分に、「-fp unix/:7100 -co /usr/lib/X11/rgb」を追加。
vnc-1152x864x24 stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 1152x864 -depth 24 -pixelformat RGB888 -fp unix/:7100 -co /usr/lib/X11/rgb -securitytypes none
vnc-1152x864x8  stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 1162x864 -depth 8 -cc 3 -fp unix/:7100 -co /usr/lib/X11/rgb -securitytypes none
vnc-1024x768x24 stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 992x704 -depth 24 -pixelformat RGB888 -fp unix/:7100 -co /usr/lib/X11/rgb -securitytypes none
vnc-1024x768x8  stream tcp nowait nobody /usr/sbin/tcpd /usr/bin/Xvnc -inetd -query localhost -once -geometry 992x704 -depth 8 -cc 3 -fp unix/:7100 -co /usr/lib/X11/rgb -securitytypes none
これでようやく満足できる動作になった。

念のため /etc/hosts.allow を書き換えて予想外のIPからアクセスできないかどうかを確認 :

制限できてるみたい。本来の指定に戻す。

参考ページ :

#13 [vine] Vine Linux には banner がないのだろうか

BSD にはあるとどこかで見かけたのだけど。

# apt-cache search banner
では、X用のしか見つからなかった。

_banner - メッセージを#で大きく表示する :

#14 [vine] コンソールでbeepが鳴るのがうっとうしい

試しに、 _205/02/25の日記 を真似して、 /etc/inputrc を修正。
set bell-style visible
を追加。

ビジュアルベル *1 になってくれたように見える。
*1: ビジュアルベル … beep の代わりに画面がフラッシュする。

#15 [linux] _Vimの使い方 - Tips

_Vimの使い方 (これだけは、知らないと)

vi の使い方に今一つ慣れてないわけで。ちと勉強しないと。

2004/08/19(木) [n年前の日記]

#1 [nitijyou] 夜、煙草を買いに、近所のコンビニまで

光量がないために視覚情報が極端に少なくなった世界で、まるで蝸牛のごとく、てくるんてくるんと歩く。空を見上げると、雲の切れ間から星座が。この雰囲気は好き。

#2 [web] _某ネットバンクでのお話

ヤバイヤバイヤバイヤバイ、ヤーバーイー。どこの銀行だ、ソレ。怖ー。怖すぎー。 *1 _(via あさってのほう)

*1: 次の日の日記に _後日談 が。

#3 [cg_tools] _下絵の色をブラシの描画色として自動取得できるペイントソフト「ArtRage」v1.1

コレ、アニメやゲームの背景描くのに使えないかな。…手書き風にする意味がないか。

#4 [jiji] _どうも私、日本が出るとその時点でその対戦相手を応援してしまうようです

私もだ…何故だ…

自分の場合はなんとなく下のような理由かも :

自国側が構築したシステムのバグチェックをしたい衝動にかられるのかもしれぬ。バグ発見にもっとも有効な方法は何か。敵に勝つことを目的として構築したシステムだから、敵に負ければ、つまり目的が果たせなければそこにバグが存在してたことが明らかになる。故に、敵に勝ってほしい=バグを見つけた状態が、目の前に現れることを期待してしまうのやもしれぬ。バグが見つからない状態より、バグが見つかった状態のほうが安心できるから。

というのは大嘘で :

単に、6+3+3年間、スポーツを強制させられてきた恨みだろうな <オーイ。

#5 [zatta] _オリンピックの中継とマシンガン撮影

うおおお。想像するだけで失禁モノ。…見てえッス…

#6 [web] _地域密着型“メトロ”ブログの可能性

_(via U-Site)

#7 [anime] _フイチンさん

何故かグッときた。関係ないけどタイトルを見た瞬間、「フリチンさん?」とギョッとしたのはナイショです。<どんなアニメだ。 _(via はてなダイアリー - ex無毛インモラル)

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

#1 よく降るなぁ

今日も雨。

#2 [pc] ひとまず最低限の再インストールはしたような

後はアプリ関係を戻していくだけ。必要になったら入れるのでもいいかな。

#3 [pc] メールサーバに繋がらない

バックアップ・インポートしたアカウント情報に間違いがあるようには見えないのだけど。しかし相手先のサイトではサーバの障害報告も出てない。ということはこちらが何かミスをしてるのか…?

#4 [pc] Netscape 4.78 や Netscape 7.1 をインストール

7.xx はともかく 4.xx 利用者はどのくらい居るんだろう。というより 4.xx よりまともなブラウザが存在していない環境ってどれだけあるのかと。

#5 [pc] YMF724 の音量設定はどのくらいがいいのだろう

Winamp で MP3 を再生して動作確認していたところ、どうも音が割れる。 _YMF724 ボードは音量に関して問題がある のを忘れてた。どのくらいの値に設定すればいいのやら。

#6 [pc] QCD Player 4.0 をインストールしてみた

曲の切り替わりがクロスフェードするのはイイ感じ。 *1 しかし、playlistの日本語ファイル名が文字化け。惜しい。
*1: Winamp 2.x も _plugin を入れれば 出来るらしい。

#7 [pc] Winamp 2.91 と他のアプリを同時に立ち上げておくと

Winamp がアクティブか否かで音が変わってしまうのはどういうことか。更に Enhancer 017 plugin を使用しているとファイル保存ダイアログに対して Dialog++ の効果が得られなくなったり。何かマズイ事が起きてるような。

2002/08/19(月) [n年前の日記]

#1 モール

配線が見苦しいのでモール買ってきました。
階下のPCをネットに接続する為にHUBも購入。 _メルコの5ポートのヤツ_

親父さんが隣の市に行くと言うので、ついでに乗せてもらって買ってきたんですが。
途中、親父さんの友人宅に行くと言い出されて困りましたよ… _

寝ないで行ったんで、帰ってきて爆睡。

#2 [digital] ダイアルアップ設定

親父さんが車でヨドバシに行くと言うので、ついでに乗せてもらって、各種機器を買ってきたんですが。途中、親父さんの友人宅に行くと言い出され、ちと困りました。

なんでも、その御友人のPCが、急にネットに繋がらなくなって困ってるそうで。…なら、あらかじめそういう話をしておいてくれないとなぁ。状況によっては、何か下調べしておいたほうが良かったりするじゃん (;´Д`)

御友人宅にお邪魔して状況を見せてもらったら、どうもダイアルアップ接続の設定を自身で削除しちゃってた模様。良かった。この程度ならなんとかなりそう。で、後ろから指示出しして、その方自身の手で、設定して貰いました。(ダイアルアップ接続の設定なんて久々だし、自分、XP触った事ないから、指示出しの内容も怪しかったですが…)

設定の仕方を、どうして当人が知らないのか不思議に思ったんですが、なんでも、知人(業者)を呼びつけて全部やってもらったのだそうです。でも、設定内容を一切説明されてなかった為に、何が重要であるか等々、ユーザ当人は知らなくて、こういう事故(?)が起きてしまったみたい。

まあ、たしかに、知識のある人が黙ってやっちゃえば、作業は早いわけですが。でも、何の説明もしてないと、この手のトラブルがバンバン起きて、また呼び出されて…かえって高くつくと思うんですよね。だから、面倒臭くても少しは説明しておかないと。できれば当人自身に作業してもらって、「『専門家じゃないとできない』作業ではない」「自分でマニュアルを紐解きながら作業すれば解決できる」ぐらいは知っておいてもらったほうがいいのではないか、なんて思ったりもするんですが。

ただ、どこまでユーザにさせて、どこから業者がやるか、難しい問題かもしれません。現在はそのへんがまだ曖昧で、境界線を引きづらい気もします。逆に言うと、今ならまだそのあたりに商売の種が転がってる気も。

その後、たまたまその業者さんが来訪して、少し話をしたんですが。その方に、親父さんも、御友人も、オイラの就職口云々の話をしはじめて…「彼(オイラのこと)はプログラマーやってたから、お宅の会社でもきっと使える人材だよ」とかアピールし始めて…トホホ。相手の方は、「いや、ウチは通信環境整えるのがメインなんで…光ファイバー引いたりするのが仕事で、プログラム作ったりはしないんですよ」と必死に業務内容の違いを理解してもらおうとアピール…。とても困ってるのが手に取るようにわかって、こっちも困ってしまいました。いやはや、親父さんや御友人のお気持ちはありがたいのですが…関係無い第三者(業者の方)まで巻きこむのはちょっとどうかと…ていうか、このなんとも言えない空気、勘弁して… (;´д⊂

しかしどうして年配の方々は、「元プログラマー=コンピュータが関係してくる仕事なら、何でもこなせる人」という前提で話をするのかな。ていうか「コンピュータ関係の仕事」で世間の皆様は十羽ひとからげにまとめ過ぎではないかと。光ファイバー敷設とプログラミング、いっしょくたにしないで… (;´Д`)

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

#1 エロゲのムービー

ガオもアギトも見逃したー


弟から貰ったエロゲのOP&DEMOムービーを眺めていたんですが。
なんていうか、ピンキリですね。
PCE、MEGA-CD時代のデモの香り漂うモノもあれば、ドラッグビデオ?みたいなモノも。
アニメ制作を外注で頼んでそうなモノはともかく、基本的にはキャラ絵や背景などの「静止画」を素材にして、どうにかこうにかするしかないわけで。
担当者の力量・スキル・感覚がそのまま画面に出てきそうで怖いですね。

見ていて個人的に唸ってしまったのは、BlueLightMagicとやらのムービー。
たぶんソレ系の映像を見慣れてる人にはありきたりな映像でしょうけど、自分はため息出ちゃいました。
実写映像の使い方、フォントの動かし方が上手い。いやはや参ったです。よくまあここまで。
それにしても、こういう映像はどんなツール使って作るんだろうなぁ…

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

#1 寝てしまった…

寝倒してしまいました。
自動車学校の学科2つ受け損ねた。失敗。
ここ数日の睡眠不足が出てしまったのかな…

1999/08/19(木) [n年前の日記]

#1 (NoTitle)午前中は教習所へ。よ...

午前中は教習所へ。ようやく第一段階の最後の学科を受けた。あとは問題集と実技試験と。

午後はハローワークへ。書類を貰ってきたり。
ついでに足を伸ばして、隣りの市までUSBハブを買いに。あまりの暑さでクタクタ。PM8:00頃帰ってきてバタンキュー。で、USBハブ導入によりタブレットが安定使用できるようになったかというと実はまるで効果無し。ぎゃふん。まあ他の機器(といってもJOYPADぐらいしかないけど)が繋ぎやすくなったあたりは満足。にしてもこのタブレットどうしたらいいのやら。トホホ

以上、25 日分です。

過去ログ表示

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

カテゴリで表示

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


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

Powered by hns-2.19.6, HyperNikkiSystem Project