mieki256's diary



2024/02/22(木) [n年前の日記]

#1 [prog] Premakeをインストールした

OpenGL利用時に、テクスチャの読み込みを簡単にしてくれる、soil(Simple OpenGL Image Library)というライブラリがある。

_lonesock.net: SOIL (WebArchive)
_littlstar/soil: Simple OpenGL Image Library
_SpartanJ/SOIL2: SOIL2 is a tiny C library used primarily for uploading textures into OpenGL.


この soil2 をビルドする際に premake なるツールが必要になるらしいので、Windows10 x64 22H2上でインストールしてみた。

_What is Premake? | Premake
_Download | Premake

premake-5.0.0-beta2-windows.zip を入手して解凍。中には複数のファイルが入っていた。
example.dll
example.exp
example.lib
example.pdb
luasocket.dll
luasocket.exp
luasocket.lib
luasocket.pdb
premake5.exe
premake5.pdb

今回は、D:\Dev\premake\ に置いてみた。

premakeadd.bat というbatファイルを作って、使いたい時だけ環境変数PATHに追加するようにしておいた。
@echo off
set PREMAKEPATH=D:\Dev\premake
set PATH=%PREMAKEPATH%;%PATH%
echo Premake enable.
echo Add Path [%PREMAKEPATH%]

さておき。premake を使う時は、premake.exe ではなくて、premake5.exe というファイル名で呼び出せばいいのだろうか。
> premakeadd.bat
Premake enable.
Add Path [D:\Dev\premake]

> premake5 --version
premake5 (Premake Build Script Generator) 5.0.0-beta2

MSYS2のパッケージがあった :

インストールした後で気づいたけど、MSYS2 でパッケージが用意されていた…。そっちをインストールすれば済んだかも…。
$ pacman -S mingw-w64-i686-premake mingw-w64-i686-premake4 mingw-w64-x86_64-premake mingw-w64-x86_64-premake4

$ which premake
which: no premake in 

$ which premake5
/mingw64/bin/premake5

$ which premake4
/mingw64/bin/premake4

$ premake5 --version
premake5 (Premake Build Script Generator) 5.0.0-dev

$ premake4 --version
premake4 (Premake Build Script Generator) 4.3

#2 [prog] soil2をビルド

OpenGLで、テクスチャ画像のロードを楽にする、soli (または soil2) というライブラリがある。

_lonesock.net: SOIL (WebArchive)
_littlstar/soil: Simple OpenGL Image Library
_SpartanJ/SOIL2: SOIL2 is a tiny C library used primarily for uploading textures into OpenGL.

soil2 を Windows10 x64 22H2 + MSYS2 + mingw64 でビルドできるか試してみた。

ビルド :

README.md 通りに作業していけば問題無いけど一応メモ。

Makefile を作るために Premake なるツールが必要になる。MSYS2の場合はパッケージが用意されているのでそれをインストールすればいい。ちなみに、MSYS2 上では pacman -Ss hoge でパッケージの検索ができて、pacman -S hoge でインストールできる。
$ pacman -Ss premake

$ pacman -S mingw-w64-i686-premake mingw-w64-i686-premake4 mingw-w64-x86_64-premake mingw-w64-x86_64-premake4

git clone を使って、github から soil2 のソース一式を入手する。任意のフォルダで以下を実行。
git clone https://github.com/SpartanJ/SOIL2.git
cd SOIL2

premake5を使って、Makefile を作る。
premake5 gmake2

make/windows/ というフォルダが作成されて、その中に色んな Makefile が作成された。中に入る。
cd make/windows

makeを呼び出す際、config=xxxx と指定することで、以下の版の .dll、.lib が作れるらしい。
release_x86
release_x86_64
debug_x86
debug_x86_64

makeと打ってビルドする。MinGW64-x85_64 で作業していたので、x86_64 を選んでみた。
make config=release_x86_64

../../lib/windows/ 内に、以下の2つのファイルが生成された。
soil2.dll
soil2.lib

更に、../../bin/ 内に、以下の2つの実行サンプルも生成された。動作には SDL2 が必要らしい。
soil2-perf-test-release.exe
soil2-test-release.exe

SDL2 は、MSYS2ならパッケージで用意されているのでインストールできる。
$ pacman -Ss SDL2

$ pacman -S mingw-w64-i686-SDL2 mingw-w64-x86_64-SDL2

先ほど生成した 実行サンプルを実行してみる。色々なdllを要求されるけど、ひとまず、先ほど生成した soil2.dll を bin/ にコピー。他のdllは、MinGW64 の bin/ にパスが通っている状態なら、そちらから読み込んでくれる。
cd ../../bin/
./soil2-test-release.exe
./soil2-perf-test-release.exe
  • soil2-test-release.exe ... ウインドウが表示されて画像が描画された。
  • soil2-perf-test-release.exe ... 画像群を読み込んで、かかった時間が表示された。




ということで、Windows10 x64 22H2 + MSYS2 で soil2 をビルドすることができると分かった。

MinGW64-x86_64 (64bit版) ではなく、MinGW64-i686 (32bit版) でも試してみた。そちらも同様に動いてくれた。.dll と .lib も生成された。

実行サンプルに必要なdll :

soil2-test-release.exe が要求するdllは以下。
$ objdump -p soil2-test-release.exe | grep dll
        DLL Name: soil2.dll
        DLL Name: libgcc_s_dw2-1.dll
        DLL Name: KERNEL32.dll
        DLL Name: msvcrt.dll
        DLL Name: SDL2.dll
        DLL Name: SHELL32.dll
        DLL Name: libstdc++-6.dll

つまり、以下のdllが別途必要になる。
libgcc_s_dw2-1.dll
libstdc++-6.dll
SDL2.dll
soil2.dll

soil2.dll 以外は、msys64/mingw64/bin/ の中からコピーしてくれば良さそう。bin/ に各dllをコピーしてみたら、MSYS2等にパスが通ってない状態でも soil2-test-release.exe が実行できた。

#3 [basic] FreeBASICでsoilを使ってみる

FreeBASIC は、CPUによるソフトウェア処理の描画とは別に、OpenGLを使ったハードウェア処理による描画もできる。しかし、OpenGL を使う際にネックになるのが、テクスチャ画像の読み込みと変換。OpenGL自体には、テクスチャ画像ファイルを読み込んで、テクスチャとして使える形に変換してくれる機能が無い。そのあたりは自分で処理を書かないといけない。

FreeBASICの公式掲示板を眺めていたら、soil (libsoil) を使って、このあたりを楽に行う方法が紹介されていた。

_Simple OpenGL Image Library Windows/Linux 32/64-bit - freebasic.net

興味が湧いたので試用してみることにした。環境は Windows10 x64 22H2 + FreeBASIC 1.10.1 32bit。

関連ファイルを入手 :

前述のページから、libsoil.zip を入手する。解凍すると、中には以下のファイルが入っている。
libsoil32.so
libsoil64.so
OpenGL_RGB.png
OpenGL_RGBA.png
soil.bi
soil32.dll
soil64.dll
test01.bas
test02.bas
  • *.so は Linux で使うファイル。
  • *.dll は Windows で使うファイル。動的リンクライブラリ。
  • soil.bi は、FreeBASICのソースからインポートするヘッダファイル。
  • *.bas は、FreeBASIC のソースファイル。今回のサンプルファイル。

コンパイルする :

fbc を使ってコンパイル。
fbc test01.bas
fbc test02.bas

test01.exe と test02.exe が生成された。

実行してみる :

test01.exe と test02.exe を実行してみる。

test01.exe の結果。

test01_ss.png


test02.exe の結果。

test02_ss.png


どちらも画像ファイルを表示できている。test01 のほうは不透明画像(RGB画像)、test02 のほうは半透明画像(RGBA画像)を描画している模様。

ソースを見てみる :

test01.bas を眺めてみる。

#include once "GL/gl.bi"
#include once "GL/glu.bi"
#include once "soil.bi"

' test of RGB texture

ChDir ExePath()

ScreenRes 640,480,32,,2

var texture = SOIL_load_OGL_texture("OpenGL_RGB.png", SOIL_LOAD_AUTO, SOIL_CREATE_NEW_ID, SOIL_FLAG_POWER_OF_TWO)

dim as integer w,h
screeninfo w,h
glViewport 0,0,w,h
glMatrixMode GL_PROJECTION
glLoadIdentity
gluPerspective 45.0, w/h, 0.1, 100.0
glMatrixMode GL_MODELVIEW
glLoadIdentity

glClearColor 1,0,0,1
glShadeModel GL_SMOOTH

glDisable GL_DEPTH_TEST
glDepthFunc GL_LEQUAL
glHint GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST

glEnable GL_TEXTURE_2D
glBindTexture GL_TEXTURE_2D, texture

do
    glClear GL_COLOR_BUFFER_BIT
    
    glBegin GL_QUADS
    glTexCoord2f 0,0:glVertex3f -.5, .25,-5
    glTexCoord2f 1,0:glVertex3f  .5, .25,-5
    glTexCoord2f 1,1:glVertex3f  .5,-.25,-5
    glTexCoord2f 0,1:glVertex3f -.5,-.25,-5
    glEnd
    
    flip
loop while inkey=""

最初のほうで、OpenGL関係のヘッダファイル(GL/gl.bi, GL/glu.bi)と、soil のヘッダファイル(soil.bi)を読み込んでいる。

テクスチャ画像ファイルの読み込みは、SOIL_load_OGL_texture() で行うようだなと…。たった1行で、画像ファイルの読み込み、OpenGLのテクスチャ用データへの変換、OpenGLのテクスチャ確保を行ってくれている模様。

その後は、screeninfo() でウインドウの横幅と縦幅を取得してから、OpenGL関係のいつもの長々とした初期化処理をして、ループ内で四角形を描画しつつテクスチャを画面に出している。ループの最後に flip を呼ぶことで、FreeBASIC は OpenGLのダブルバッファ切り替えをしてくれる。

テクスチャ画像の読み込み、変換、確保を、たった1行で済ませてくれるのはありがたいなと…。

2023/02/22(水) [n年前の日記]

#1 [linux] ChromeOS Flexを試用

ChromeOS Flexが気になる。Chromebook の雰囲気を再現してるOSらしいけど、どんな感じなんだろうと。

以前、Windows8.1がインストールされてるノートPCに、ChromeOS Flexをインストールできないか検討したこともあるのだけど。HDDに ChromeOS Flex をインストールすると、HDDの中身を全消去してからインストールするそうで…。Windowsと共存できるほうがいいよなと思って選択肢から外したけれど、後になってUSBメモリから起動する分にはお試しで使えると知り、だったら触ってみようかと。

USBメモリに書き込み :

以下から入手しようと思ったけれど、個人情報の入力を求めるページが開いてしまって、それはちょっとなあ、と…。

_PC 版または Mac 版 ChromeOS Flex を入手 - Chrome Enterprise

更にググってみたら、Google Chrome の拡張機能を経由して、ChromeOS Flex をUSBメモリにインストールできると知った。

_1: USB インストーラを作成する - ChromeOS Flex ヘルプ

Windows10 x64 22H2 + Google Chrome 110.0.5481.104 64bit で試してみた。USBメモリは、Transcend製 32GB。たしか TS32GJF790KPE JetFlash 790、だったような気がする。

  • Google Chrome を起動して、Chromeウェブストアに飛んで、「Chromebook リカバリ ユーティリティ」という拡張機能をインストール。
  • 「Chromebook リカバリ ユーティリティ」のアイコンをクリックするとウインドウが開く。
  • 「リストからモデルを選択」をクリック。
  • 「メーカーを選択」で「Google ChromeOS Flex」を選択。
  • 「製品を選択」で「ChromeOS Flex」を選択。
  • 「続行」をクリックしていけばUSBメモリが選べる画面が出てくるので選択。

そんな感じで、USBメモリに書き込むことができた。

サブPC上で起動 :

サブPC(Core i3-6100T + RAM 8GB)にUSBメモリを差して起動してみた。ASRock製M/Bなので、F11キーを押して Boot Menu を出して、USBメモリを選択。起動してくれた。

最初に、言語を選ぶ。English と表示されてるところをクリックして、日本語を選択し直し。キーボードも日本語を選んだ。

有線LANで接続されてるPCだったので、ネットワーク接続で何かを選んだりする場面はなかった。ただ、無線LAN子機でLANに接続してる別PCで試した際は、無線LANが選択できなくて…。無線LAN子機、ELECOM WDC-150SU2MBK (RTL8188EU? RTL8188EUS?)用のドライバは入っていないのかもしれない。

Googleアカウントでログインしたら、ブックマークその他も反映された状態で Google Chrome を起動することができた。

左下のアイコンをクリックすると、Googleドライブだの、Googleドキュメントだの、Googleの提供してる色々なサービスのアイコンがずらりと表示された。インターネットに接続されている限りは、色々なWebサービスが使えそうだなと…。ネット接続できなかったら、何一つできないのだろうけど。

余談。RAM 8GB のサブPC上でも動いたけど、RAM 4GBのサブPCでも一応動いた。
  • Intel Core i3-6100T + RAM 8GB + ASRock Z170M EXTREME4
  • AMD Athlon 5350 + RAM 4GB + ASRock AM1B-ITX

感想 :

動かしてみて重い感じは全然しないし、見た目もオシャレだし、イイ感じだなと思ったけれど、他のOSと共存できないのはなんだかもったいないなと…。ストレージの中身を全消去されるのは厳しい…。

動きそうな無線LAN子機が見つからない :

利用できそうな無線LAN子機をググって探してみたのけど、これがなかなか厳しいようで…。見つからないから仕方なくUSB接続の有線LANアダプタで解決してしまった事例が多いようだなと…。

_【Chrome OS Flex】WIFI受信機は結局使えず!最終手段で有線LANで繋ぎました。 | 節約兄さんのブログ
_chromium OSで使えるUSB wi-fiアダプタ
_メーカーPCにChromeOSを入れてみた - ギャップロ

BUFFALO WLI-UC-GNM なら動いたという話を見かけたものの、その製品は随分昔に製造終了していて、もう入手不可能で…。たしか昔の Ubuntu Linux でも最初から一発で認識するということで重宝されてた記憶があるし、自分も一つ買った記憶が。2個目を買おうとしたら、その時には市場から無くなっていた…。Ralink/MediaTek のチップ(RT8070?)が載ってたらしいけど、もうそのメーカはPCで使えるチップの製造をやめてしまったとどこかで目にしたような…。

_Ralinkの歴史 - Qiita
_カーネルとユーザランドの設定 (無線LANドライバ編)
_Buffalo WLI-UC-GNM - TechInfoDepot
_Ralink - TechInfoDepot

こんな古いチップしか選択肢がないなんて…Googleは何を考えているのか…。

2023/02/23追記 :

仮想PC上で動かせないかなとググってみたけど、VMware でも VirtualBox でも動かないらしい。QEMU なら動くという情報を目にした。

_Windows 版 QEMU(qemu-system-x86_64.exe) で Chrome OS Flex を起動する - What I Know 〜ワッタイナ

2022/02/22(火) [n年前の日記]

#1 [nitijyou] 頭身についてもう少し調べていた

いくつかの検索ワードを思いついて、子供さんの頭身が分かりそうな画像を入手できた。GIMPで各画像を開いて、定規ツールで身長と頭の高さのドット数を調べて、電卓を叩いて「身長 / 頭の高さ」で頭身を求めて、得られた値を眺めてた。

ぼんやりと予想はしていたけれど、画像を元にして実測してみたら、自分が思っていた以上に、頭身には個人差がめちゃくちゃあるなと分かってきた。頭が大きい人、小さい人、色々居るなと…。まあ、そんなの当たり前だけど。工業製品じゃないんだし。

イラストを描いたり、3DCGモデルを作ったりする際に、平均値がこのくらいだからこの範囲に収めなければいけないのだ、みたいなことは一切考えなくてもいいのかもしれない。このキャラはこういう頭身なのです、個人差があるのでコレで合ってます、ということで済ませてしまっていいのではないか。そのくらい、現実世界の人間は、頭身の個人差が激しい。

頭身の平均値をちゃんと把握してソレに応じた何かしらを制作しなければ、などと今まで安易に思い込んでいたけれど、そんな思い込みは持たなくていいぞと自分に言い聞かせたくなってきた。そのあたりにツッコミ入れてくる人はむしろ現実を知らない人だから無視していい。皆、自分の理想とする頭身で描いたり作ったりしてしまっていいのだ。その頭身だって現実世界のどこかに実在している可能性が高いのだし。いや、ホント、そのくらい頭身なんてバラバラなので…。

2021/02/22(月) [n年前の日記]

#1 [pyxel][python][raspberrypi] PyxelをRaspberry Pi Zero W上でインストールしてみた

Pyxel は、Python を使って2Dゲームを作成できるライブラリ・レトロゲームエンジン。

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

Pyxel を、Raspberry Pi Zero W + Raspberry Pi OS buster 上でビルド・インストールしてみる。

インストール手順。 :

前述のページの中に、Raspberry Pi に導入するときの手順が書いてあるので、ソレに従って作業。~/ 以下に git clone して作業してみる。
cd ~/
git clone https://github.com/kitao/pyxel.git
cd pyxel
make -C pyxel/core clean all
pip3 install .

しかし、エラーが出る。

$ pip3 install .
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Processing /home/pi/pyxel
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-req-build-oteqvc1l/setup.py", line 2, in <module>
        from pyxel import VERSION
      File "/tmp/pip-req-build-oteqvc1l/pyxel/__init__.py", line 10, in <module>
        from . import core  # type: ignore
      File "/tmp/pip-req-build-oteqvc1l/pyxel/core/__init__.py", line 42, in <module>
        _lib = _load_library()
      File "/tmp/pip-req-build-oteqvc1l/pyxel/core/__init__.py", line 39, in _load_library
        return cdll.LoadLibrary(lib_path)
      File "/usr/lib/python3.7/ctypes/__init__.py", line 434, in LoadLibrary
        return self._dlltype(name)
      File "/usr/lib/python3.7/ctypes/__init__.py", line 356, in __init__
        self._handle = _dlopen(self._name, mode)
    OSError: /tmp/pip-req-build-oteqvc1l/pyxel/core/bin/linux/libpyxelcore.so: undefined symbol: _ZNSt10filesystem7__cxx114path14_M_split_cmptsEv

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-req-build-oteqvc1l/

ググってみたら以下の報告が。

_Pyxel install fails on Raspberry Pi 4 - Issue #286 - kitao/pyxel

gcc 9 が必要らしい…。Raspbeey Pi Zero W に gcc 9 をインストールしないといけない。

ちなみに、2021/02/22現在、標準では gcc 8.3.0 がインストールされている模様。
$ gcc --version
gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

gcc 9 のインストール。 :

ググったら、おそらくはビルドした gcc 9.1.0 を公開してくれてる方が居るようで。ありがたや。使わせてもらおう…。

_sol_prog / raspberry-pi-gcc-binary - Bitbucket
_Install GCC 9 on Raspberry Pi and build C++17 programs

上記ページに従ってインストール。

しかし、サンプルファイル test_fs.cpp のコンパイルでエラーが出る。

$ g++-9.1 -std=c++17 -Wall -pedantic test_fs.cpp -o test_fs
In file included from /opt/gcc-9.1.0/include/c++/9.1.0/arm-linux-gnueabihf/bits/os_defines.h:39,
                 from /opt/gcc-9.1.0/include/c++/9.1.0/arm-linux-gnueabihf/bits/c++config.h:524,
                 from /opt/gcc-9.1.0/include/c++/9.1.0/iostream:38,
                 from test_fs.cpp:4:
/usr/include/features.h:424:12: 致命的エラー: sys/cdefs.h: そのようなファイルやディレクトリはありま
せん
  424 | #  include <sys/cdefs.h>
      |            ^~~~~~~~~~~~
コンパイルを停止しました。

調べてみたら、/usr/include/sys のシンボリックリンク作成に失敗していたらしい…。

/usr/include/sys を sys_orig にリネームしてから、シンボリックリンクを作成し直し。
cd /usr/include
sudo mv sys sys_orig
sudo ln -s /usr/include/arm-linux-gnueabihf/sys /usr/include/sys

この状態で試したら、今度はコンパイルが通った。

再度Pyxelをビルド。 :

gcc 9 をインストールできたはずなので、再度、Pyxel のビルドに挑戦。

~/pyxel/pyxel/core/Makefile を修正する。
$ diff Makefile.orig Makefile -u
--- Makefile.orig       2021-02-22 09:17:20.318631952 +0900
+++ Makefile    2021-02-22 09:18:22.998105983 +0900
@@ -46,7 +46,7 @@
endif

ifeq ($(PF),linux)
-CC = g++
+CC = g++-9.1
SDL2_CFLAGS = `sdl2-config --cflags`
SDL2_LDFLAGS = `sdl2-config --libs` -lSDL2_image -static-libgcc -static-libstdc++
TARGET = $(BINDIR)/linux/$(LIBNAME).so
linux向けの処理をする際に、g++ ではなく g++-9.1 を使うようにするらしい。

再度、Pyxel をビルド。
cd ~/pyxel
make -C pyxel/core clean all
pip3 install .
ビルドができて、インストールもできた。

Pyxelサンプルファイルのインストール。 :

~/.local/bin/ 以下に、Pyxel関係のコマンドがインストールされていた。
$ ls ~/.local/bin
install_pyxel_examples  pyxeleditor  pyxelpackager

~/.local/bin/ にPATHを通しておいたほうが良さそう。~/.bashrc の最後のあたりに追加。
export PATH=$PATH:/home/(ACCOUNT_NAME)/.local/bin

端末を再起動すれば反映される。たしか、source ~/.bashrc を実行しても反映された気もするけど…。

Pyxelのサンプルファイルをインストール。今回は ~/prg/pyxel/ 以下に置いてみた。
mkdir ~/prg
cd ~/prg
mkdir pyxel
cd pyxel
install_pyxel_examples
cd pyxel_examples

サンプルを実行。 :

サンプルを実行してみた。
python3 01_hello_pyxel.py
python3 02_jump_game.py
とんでもなく遅い。たぶん1FPSも出ていない。

スマホで録画した動画を置いてみるけど、こんな感じで動いてる。このままでは、なかなか厳しい。

OpenGLを有効化。 :

OpenGL(OpenGLES) を有効にしたら状況が変わるだろうか? 試しに有効にしてみる。/boot/config.txt を編集。
sudo vi /boot/config.txt

以下を追加。
gpu_mem=128
dtoverlay=vc4-kms-v3d,cma-128

更に、一応、デスクトップの画面解像度を液晶ディスプレイの解像度と合わせておく。自分は普段、1920x1200の液晶ディスプレイに、1280x720@60Hz のデスクトップ画面を表示しているけど、このまま OpenGL を有効にすると画面が表示されない状態になる。sudo raspi-config → Display Options → Resolution → Default Monitor preferred resolution を選択して、液晶ディスプレイの解像度と合わせる設定にしておく。

設定変更後、OS再起動。これで、OpenGL(OpenGLES)が有効状態になったはず。

ちなみに、Raspberry Pi Zero系で OpenGL を有効にするのはサポート外だったはず。以前、公式(?)フォーラム内で、メモリが足りないのでまともに動かないはず、てな話が出ていたような記憶が…。でもまあ、それでも一応設定してみると、それらしく動く時もあったりするわけで…。

OpenGL有効状態でサンプルを実行。 :

各サンプルを動かしてみた。今度は滑らかに動いてくれた。何FPS出てるのか分からんけど、かなりイイ感じに見える。




上記の動画には入ってないけど、音楽もちゃんと鳴っているような気がする。処理が間に合わなくて音にノイズが混ざったり等はしてない感じ。

ただ、06_click_game.py は強制終了してしまった…。それ以外のサンプルは、全部動いた。

同梱のリソースエディタ(ドットエディタ+サウンドエディタ)、pyxeleditor も動かしてみたけれど、これはかなり重かった。CPU負荷がずっと100%のままで、マウスカーソルの動きもガクガク。ちょっと実用にはならないかもしれない。CPUコアを複数持っている Raspberry Pi で動かせばスイスイと動くのかもしれんけど、1コアの Zero系で使うのは少々厳しい気配。

雑感。 :

gcc 9 を導入したり、OpenGL を有効にしたり等、ちょっと色々やらないといけない部分はあるけれど。一通り設定できれば、ハードウェアスペック面では非力と思われている Raspberry Pi Zero W 上でも、Python + Pyxel を使えば結構滑らかに動くゲームを作れそうだなと分かった。

ただ、gcc 9 の導入が、ちょっと気になる。この作業をしたことで、ライブラリのパスを弄ってしまっただろうし、他の何かしらのビルド時に問題が出てきたりはしないのだろうか…。そのあたりがちょっと不安。

#2 [pc] マウスの裏面がザラザラする

ここ数日、メインPCに繋いでいるマウスを動かすと、なんだかザラザラした感覚で。どうも気になる…。マウス裏面のソールが削れてしまったのだろうか。それともマウスパッドが削れてしまったのか。でも、マウスのソールも、マウスパッドも、指で触ってみてもそこまでザラザラしてるようには感じないのだけど…。

使っているマウスは、ELECOM M-XGM10UBXBK。 _2020/02/06に購入した、 とメモしてあるな…。約1年使ったのだな…。

マウスパッドは、SANWA SUPPLY MPD-OP54BK。 _2020/12/25に購入した、 とメモしてある。まだ2ヶ月しか使ってないのか…。

とりあえず、部屋の中からモイスチャーオイルとやらを発掘して、マウスの裏面に少し塗ってみた。元々、トラックボールのボール部分の滑りを良くするために100円ショップで買って使っていたものなので、マウスの滑りも少々改善したような気がする。シリコンスプレーがあればこういう時に使えるという話も聞いたことがあるので、そのうち入手して試してみたいものだなと。

2020/02/22() [n年前の日記]

#1 [nitijyou] 風が強い

自転車で買い物に、と思ったけれど。強風だったので諦めた。自転車が風で倒れたらアレだし…。もうちょっと天候がいい日に行こう…。

2019/02/22(金) [n年前の日記]

#1 [anime] 「Fate Project 大晦日TVスペシャル2018」を視聴

録画したままだったソレをようやく視聴。劇場版アニメ「Fate/stay night Heaven's Feel 1」と、ショートアニメその他が放送されていたらしい。

劇場版アニメは ufotable が制作しているだけあって、映像面はスゴイことになっていた。こんな映像を作れる時代になったのだな…。恐ろしいな…。それはともかく、ufotable が手掛けたTV版を見ておかないと、基本設定すら分からない作りになっていたような気もしたり。もっとも、たしか当時、劇場版公開に合わせて、BSでTV版を再放送していた記憶もあるし、であれば、そういった作りで問題無さそうな気もするわけで。

2018/02/22(木) [n年前の日記]

#1 [dxruby] DXOpalで地形アタリ処理ができた

DXOpal上で、地形アタリ処理(地形衝突判定、コリジョン処理)ができたような気がする。

_DXOpal tilemap collision

ここまでできれば、後はプレイヤーキャラの移動処理等を入れていけば、一見それらしくなるはず。

やってることは…。
どういう形で補正用データを持つかは、昔書き残した日記が参考になりそうなので発掘してメモ。異様に読みづらいけど…。

_mieki256's diary - とりあえずBGマップを表示するべく作業中
_mieki256's diary - 地形アタリの実験中
_mieki256's diary - DXRubyでtmxファイルを使ってBG表示

今後は以下を再現してみる予定。

_mieki256's diary - DXRubyで地形アタリを取りながらプレイヤーキャラの移動
_mieki256's diary - DXRubyで地形アタリを取りながらプレイヤーキャラの移動その2
_mieki256's diary - DXRubyで地形アタリを取りながらプレイヤーキャラの移動その3ひとまず完結編

さておき。DXOpalについて、また少し分かってきたことをメモ。

K_LSHIFTやK_LCONTROLが無い。 :

最初、Shiftキー + カーソルキーの処理を書いたら、DXOpal に、「K_LSHIFT? そんな名前は知らねえ」と言われてしまって。どうやら DXOpal は、ShiftキーやCtrlキーが押されたかどうかを調べられないようにしてあるみたいだなと。

_dxopal/key_codes.rb at master - yhara/dxopal

おそらくは上記のソースが、キーの定義部分だろうけど。わざわざ K_LSHIFT や K_LCONTROL をコメントアウトして殺してあるようで。何か不具合でもあるのだろう…。

描画時のZ値が正しく反映されないときがあるかもしれない。 :

処理をした順に上書き描画していく、という素直な(?)書き方なら問題は出ないようだけど。描画時にZ値を指定することで、手前に描画するか奥に描画するかを変更しようとすると、稀に正しく描画されないときがあるようで。

しかし、発生条件が分からない。正しく描画できてる箇所もあれば、奥に隠れちゃう箇所もあって…。

何にせよ、処理した順に奥から手前へと描かれるのだ、てな前提で書いといたほうが良さそうかも。

ちなみに、DXRuby はz値が小さいほうが奥に描画される仕様のはず。

_3.1 Windowモジュール
_DXRuby Sprite#z=

#2 [nitijyou] ネズミ対策で困っていたり

ここ数日、どんなネズミ対策をするかで、家族が喧々諤々状態で。というのも、妹の車のエンジンのコードがネズミにかじられて、エンジンがかからなくなる事件が発生したからで。今までも、壁の中を走り回ってうるさかったり、犬の餌を盗んで食べたりしていたけれど、さすがに車を壊すところまで来ると、もはや放置しておくわけにもいかず。しかし、どんな対策をすればよいのやら。とりあえず、昨日ホーマックで、金網タイプのネズミ捕りを購入してきたのだけど…。詳細はGRPでメモ。

ちなみに、妹が餌として干し芋を使ったら1時間も経たずに以下略。

ペットボトルやバケツでも作れるらしい。 :

ネズミ捕りを自作できるかどうかが気になってググってみたら、ペットボトルやバケツで作る事例が動画で紹介されていて。なんだか工作意欲がちょっとムクムクと。ダンボールで作れないかな。いや。紙製では齧られて脱走されてしまうか。

喧々諤々。 :

うっかり書いてしまったけど、喧々諤々って誤用なのですな…。

_喧々諤々とは - 日本語表現辞典 Weblio辞書
「喧々囂々(けんけんごうごう)」と「侃々諤々(かんかんがくがく)」という別々の言葉が混ざった誤った表現。実際に使われる場合には、「多くの人が集まってうるさく議論する」といった意味で使われることが多い。

喧々諤々とは - 日本語表現辞典 Weblio辞書 より


恥ずかしながら知らなかった。

2017/02/22(水) [n年前の日記]

#1 [cg_tools][k3d] K-3Dをもう少し試用

オープンソースの3DCGソフト、K-3Dをもうちょっと試用。環境は Windows10 x64。

とりあえず、チュートリアル動画にあったカップの作り方を自分も試してみたり。こんな感じに。



一応説明しておくと…。 _All Plugins - K-3D を眺めてそれぞれクリックすれば、簡単な説明が書いてある。ただし英語。

_SDS って何なのかちと分からんけど、もしかすると SubDivision Surface の略なのかもしれないし全然違うのかもしれない。ググってたら Subdivision and Damage Stability という文字列も見かけたけど、自分は英語赤点なので意味が分からないです。

少しハマった点。 :

面をブリッジ(BridgeFaces)するあたりでちょっとハマった。プレビューレンダリングすると、ブリッジで生成した面だけが他と違う見た目になってしまって。

k3d_tuto_error_ss_01.png

原因はマテリアル設定。BridgeFacesで生成された面はマテリアル指定に何も割り当てられてない状態になるので、プロパティの Suface Material で「Material」あたりを選んで指定しておかないといけない。

k3d_tuto_error_ss_02.png

k3d_tuto_error_ss_03.png

影が落ちない。 :

K-3D は、 _RenderMan なる何かの規格に対応してるのが売りの3DCGソフトらしいのだけど、同梱されてるレンダラーが影を出してくれないレンダラーっぽくて。本来は何を使って最終レンダリングをするのか、そのあたりちょっと謎。

RenderManってよく分からんのだけど、ググってみたら以下のような話が。

_アメリカでCG屋をやってみる: レンダラを選んでみる その1
結論から申し上げますと、アメリカの映像業界ではRenderManは使われなくなりつつある、というのがお答えになります。

アメリカでCG屋をやってみる: レンダラを選んでみる その1 より

2013年頃のお話。

Portable版があった。 :

昨日は K-3D のインストーラ版をインストールしてしまったけど。その後ググってたら、Portable版があることに気が付いた。

_K-3D Portable | PortableApps.com - Portable software for USB, portable and cloud drives

環境を汚さないので、こっちを使ったほうがいいのかもしれない。インストーラ版はアンインストールして、Portable版を使うことにした。

Pixieなるレンダラーをインストールしてみた。 :

K-3Dは、RenderMan互換のPixieというレンダラーも使える、と書いてあるように見えたので試しにPixieもインストールしてみたり。ちなみに、Windows用の最新バイナリは 2009/06/12頃に公開されたものなので、どうやらコレも開発停止っぽい。

_Pixie download | SourceForge.net

Pixie-2.2.6-Setup.exe をDLして実行するとインストールされる。環境変数 PIXIEHOME を設定、かつ、環境変数 PATH に、%PIXIEHOME%\bin を追加する模様。

K-3D上の RenderMan Engine のプロパティで、Render Engine を Pixie にしてみたけど。スポットライト等が反映されないな…。K-3D にバンドルされてる、BundledAqsis なるものを選んでおいたほうが無難、ということなのだろうか。

さておき。これもやっぱり床に影が落ちない。レンダラーを変えれば云々と言うわけではナサゲ。

影を落とすための設定がよく分からない。 :

_BasicsOfRenderman - K-3D_Shadow Map Tutorial - K-3D を眺めると、「影を落とすためには RenderManShadowMap を追加しないとダメだよ」みたいなことが書いてあるように見える。が、RenderManShadowMap とやらを作成するところまではともかく、その後の設定方法が分からず。RenderManShadowMapのカメラに何を設定するんだ…?

LuxRenderでレンダリング。 :

ググっていたら、 _K-3D + LuxRenderでレンダリングした事例 を見かけて。LuxRenderは、RenderMan互換ではないけど数多あるレンダラーの一つ。blenderと組み合わせて使えたりするレンダラー。コレを使えば影も落ちるのだろうかと気になってきたので試してみようと。

_LuxRender - home

自分の環境では、以前 blender + LuxRender のテストをした際に、Standalone版をインストール済みのはず…。環境変数 PATH の中に、LuxRenderをインストールしてある場所が含まれてるかどうかを確認。例えばDOS窓上で「luxrender」と打ち込んでGUIが表示されたらPATHは通ってる。PATHが通っていれば、K-3D からも呼び出せるはず。

以下のような感じで操作してみたら、LuxRender でプレビュー表示ができた。ちなみに、K-3D 0.8.0.1 + LuxRender 1.6.0 No OpenCL 64bit + Windows10 x64 の組み合わせ。



手順としては以下。
  1. LuxRender でレンダリングするには光源が必要なので、Create → LuxRender → LuxRenderSkyLight と LuxRenderSunLight を作成。
  2. LuxRenderSunLight の Direction で光の向きなのか光源の位置なのか分からんけどそのへんを設定。
  3. モデルをいくつか生成して。
  4. Render → Set Preview Engine で、Create LuxRender Engine を選択。
  5. Visible Nodes と Enabled Lights の横の Edit ボタンをクリックして、レンダリングに反映させたいものにチェックを入れる。
  6. Preview すれば、LuxRender のGUI画面が表示されて、レンダリングが進む。

LuxRender を使うと、RenderMan互換レンダラーでレンダリングした時と違って、特に何もしなくてもちゃんと影が落ちる。素晴らしい。

しかし、問題発生。LuxRender がレンダリング結果を画像として保存する際、「何だよこのファイルパスは! 保存できねえよ!」とエラーを出す…。どうやらファイルパスのパス区切り文字が消滅して、トンデモなファイルパスで保存しようとしてエラーが出ているらしい。

blender上からLuxRenderを使った際には、こんな問題は出ないので…。これは勝手な邪推だけど、K-3D が LuxRender に妙なファイルパスを渡しているのではないかしらん。例えば、「\\」をパス区切り文字として渡さなきゃいけないのに「\」しか渡してないとか、*NIXの流儀で「/」をそのまま渡しておかしなことになってるとか、Windows特有の対策をしてなくて、という可能性はどうだろう。まあ、実験段階のプラグインという扱いらしいから、「Windowsには対応してねえよ」「Linux使えよ」てなノリで片づけるのもアリなんだろう…。

というか結局 LuxRender を使ってレンダリングしてしまうなら、そもそも blender から LuxRender を呼び出してレンダリングしたほうがいいのではないかと思わないでもなかったり。あえてわざわざ K-3D から呼び出して使わなければいけない理由は、ちょっと見当たらないよなと…。

#2 [cg_tools][wings3d] Wings 3DとYafaRayを組み合わせて使ってみたり

Wings 3D という、3Dモデル作成ソフト・モデリングソフトがあるのです。

_Wings 3D | A Polygon Modeler
_Wings3Dの紹介

詳しくは知らないし、自分が誤解してるかもしれないけど…。元々は Nendo、Mirai というゲーム開発向けのモデリングソフトがあって、その影響を受けて作られたモデリングソフトが Wings 3D、だそうで。Nendo と Mirai のどっちが使われてたのか分からんけど、マリオ64等の開発に使われてた、という話も。そういう経緯で出てきたソフトなので、ゲーム開発向けというか、ローポリモデルを作りやすいかもしれないよ、てな話をあちこちで見かけたり。

で。Wings 3Dは、基本的にはモデリング専用ソフトなのですが。YafaRayなるレンダラーと組み合わせればいきなりレンダリングすることもできるよ、という話を見かけて。気になったのでセットアップ作業を試みたり。

ちなみに環境は Windows10 x64。

YafaRayの入手。 :

YafaRayは、以下から入手可能。

_Home | YafaRay
_Download | YafaRay

基本的には blender と組み合わせて使うことを前提にしてるレンダラーのようで、 _Releases - YafaRay/Blender-Exporter - GitHub から、blenderのアドオンとしての zip をDLできる模様。

とりあえず今回は、
YafaRay.v3.1.1-beta.build.for.Blender.2.78.MinGW.Win7.Win8.1.Win10.64bit.zip
を入手してみたり。しかしコレ、ファイル名が異様に長いな…。

YafaRayのインストール。 :

もし、「blender にインストールして使いたいんだぜ」ってことなら…。

blender を起動して、ファイル → ユーザ設定 → アドオン → ファイルからインストールを選択。DLしたzipを指定してやれば、インストールできる。

どうやら zipの中に YafaRay本体もまるっと入っていて、以下のフォルダに、yafaray_v3 というフォルダごと、ごっそり全部インストールされる模様。
C:\Users\アカウント名\AppData\Roaming\Blender Foundation\Blender\2.*\scripts\addons\

「いやいや、そうじゃねえんだ。blender以外のソフトから単体で呼び出して使いたいんだ」という場合は、zipを解凍・展開してどこかに置いて、bin\ 以下の yafaray-xml.exe という実行ファイルを呼び出せばよいようで。

Wings 3DからYafaRayを呼び出せるようにする。 :

Wings 3D 2.0以降は、YafaRayを呼び出せるプラグインがあらかじめ入ってるらしい。後は設定をするだけ。YafaRayの置いてある場所を指定しないといけないので、Edit → プラグイン環境設定 → YafaRay。
  • Executable に、yafaray-xml.exe のパスを指定。
  • YafaRay Plugins Path に、YafaRayインストール場所\bin\plugins を指定。
これで設定完了。

ちなみに、最初は分からなくて、 _Oortman3D - Wings3D で公開されてるプラグインをインストールしちゃって Wings 3D 2.1.5 の動作がおかしくなってしまいました。ちゃんと「このプラグインは、1.4.1、1.5.3、1.5.4用だよ」「2.0以降では動かんよ」と注意書きがあったのに…。

使ってみる。 :

何かモデルを作成して、File → レンダリング → YafaRay。

一応レンダリングはされたけど…。

wings3d_yafaray_ss01.png


YafaRayに与える各値の意味がさっぱり分からないので、なんというか、その。どうしてこんなに輪郭がボソボソしたレンダリング結果に…。

2016/02/22(月) [n年前の日記]

#1 [windows] Google Chromeをバックグラウンドで動かすとWindowsがアイドル状態になってくれない模様

数日前、Windows10上で、Checker Plus for Gmail という拡張を Google Chrome に導入して、その関係で Google Chrome をバックグラウンドで動かす設定にしてみたのだけど。その状態だと、電源オプションの設定が働いてくれずに、ずっと電源が入りっぱなしになることに気づいたり。

おそらく、Google Chromeが、「ボク、ずっと仕事してるよ! してるよ!」とOS側にアピールして、OSがアイドル状態になってくれないのだろう…。Google Chrome を使うと電気を食い続けるからタブレットPCやノートPC等で使うとちょっと電力的によろしくないよ、みたいな話をどこかで見かけた記憶があるけど。その場合、このあたりの設定が絡んでたりするのかもしれないなと。

てなわけで、とりあえずバックグラウンドで動かすのはやめておくことにした。

2015/02/22() [n年前の日記]

#1 [cg_tools] FloatingButtonを試用

FloatingButton は、デスクトップ画面にショートカットキーを割り当てたボタンを置くことができるツール。

_FloatingButton - 窓の杜ライブラリ

GIMP + ペンタブレット利用時にコレを使えば楽にならないかなと思えたので試用してみたり。環境は Windows7 x64。

Ctrl+Zのボタンを作って GIMP 2.8.10 Portable を起動して試してみたのだけど、最初の1回はGIMP側で受け付けてくれたものの、2回目以降は無反応で。FloatingButton を終了・再起動しても、GIMPを終了・再起動しても、ずっと無反応。

CLIP STUDIO PAINT PRO ならちゃんと何度も反応してくれるのだけど。謎。

ArtTips、Logicool SetPoint、タイプ数カウンタ等々、キーを横取りしてそうな常駐ソフトをあらかた終了させて試してみたけど変化無し。

GIMPだけ、何か違った処理をしてるのかなあ…。わからん。

#2 [dxruby][game] 敵のライフゲージってどこに表示するのがいいのだろう

大昔のベルトスクロールアクションゲームは、敵を殴ると敵のライフゲージが画面の左上のほうにしばらく表示されて、時間が経つといつの間にか消えていたような記憶があって。敵が複数出てきてバカスカ殴ってると、殴るたびに殴った相手のライフゲージに切り替わる、みたいな感じ、じゃなかったかなと。

大昔のコンシューマゲーム機はハードウェアスペックが低かったから、敵の数だけライフゲージを表示するのも難しくて。故に敵1体分のライフゲージを表示するしかなかったのかな、と思っているのだけど。今ならそういう制限はないわけだから、プレイヤーさんにとって見やすい・把握しやすいライフゲージを表示するほうがいいだろうなと。

てなことを思ったところで悩んでしまった。どこに表示したらいいんだろう。敵の頭の上に表示するのが良さそうだけど、それぞれのライフゲージが重なった時に見づらいよなと。

このあたり、10年以上前、PSやらSSやらの次世代機が出てきたときに既に解決してるだろうと思うのだけど。自分、その手のジャンルのゲームをしっかり観察したことがないものだから、恥ずかしながら未だに正解を知らなかったり。

3Dの無双系のゲームも同じ問題がありそうだけど、どうやって解決したんだろう。…その手の動画でも探してみようかしらん。

2014/02/22() [n年前の日記]

#1 [anime] キルラキル、18話まで視聴

スゴイわ…。このアニメ、凄過ぎてヤバいわ…。ひたすら圧倒されまくり…。素晴らしい。とにかく素晴らしい。もう無茶苦茶だ…。大暴れだ…。とんでもないことになってる…。

14話が摩砂雪コンテ、15話が樋口真嗣コンテ、16話が前田真宏コンテだったので驚いてしまったり。そしてやっぱり中身も凄かった…。

総集編云々のあたりに笑ってしまったり。「あー、総集編かー」と思って見てたら「ええっ!?」って感じで。

TRIGGER、大丈夫なのかな…。この一作で燃え尽きちゃいそうで怖いのですけど…。

#2 [unity] Unityで作ったアプリをAndroidで動かしてみたり

以下の解説記事を参考にして自分の手元でも実験。環境は、Windows7 x64 + Unity 4.3.3f1 + Lenovo IdeaPad Tablet A1。

_無償化されたUnityのスマートフォン書き出し機能でお手軽にAndroidゲームを作る方法まとめ - Unity部 | GMOメディア エンジニアブログ
_naichilab - Android iOSアプリ開発メモ: 【Unity無償化】Unityインストールから実機で実行するところまでやってみた。
_Lonovo IdeaPad Tablet A1 adb USB ドライバ

とりあえず、.apk を作って転送して動作することを確認。また、Unity Remote を Android側で実行して、Unity Editor 上でタッチ情報を取得することもできた。怖いぐらいにスンナリ動作してビックリ。

時々USB接続が働かない・adb とやらがエラーを返してくる場合があったのだけど。Unity Editor、Unity Remote を終了させて、USBケーブルを引っこ抜いて、もう一度差し直して、みたいなことをしたら動作してくれた。

タッチ情報の取得についてメモ。 :

以下を参考に実験。

_GClue Unity blog: タッチされた座標を取得しGUI Textに表示する
_Unity:入力取得と機種の判別|ろくのじのブログ
_UnityでOS毎の処理を書く | みーのぺーじ
_Unity - Platform Dependent Compilation

以下の2つのどちらかでどうにかなるっぽい。
  • SystemInfo.operationgSystem.Contains("Android") を使って、Android かソレ以外かを判別する。
  • #if UNITY_ANDROID 〜 #endif で、処理を分けて書いておく。

#3 [windows] Windows XPからWindows8にアップグレードできれば少しは違っただろうに

ただの愚痴です。

手持ちのAtom搭載ネットブックが Windows XPで動いてるので、あと1ヶ月もすれば、ネット接続に問題ありのマズいPCになってしまうのだけど。しかし、何のOSを入れたらいいのかで悩んでいたり。

本当は Windows8 を入れてみたいのだけど、件のネットブックの画面解像度が 1024x600なので、たしか Windows8 の最低動作条件を満たしていなかったはず。となると、これは Linux を入れるしかないのかなあ、と。

このあたり、Microsoft は変なことをしてるなー、と自分は思っていて。

「Windows XP から Windows8にアップグレードできますよ」「XP対応アプリもそこそこWindows8で動かせるようになってますよ」てな仕組み・状況だったら、Windows XP を使い続ける事例はほとんど無くなってるだろうなと。皆、「仕方ねえなあ…でもOS買うだけで済むんだからマシか…」とWindows8 を買って、結果的にMicrosoftは儲けてたはず。

しかし現実には…。 という状況なので、そりゃ移行も進まなくて当然で。まるで、「移行しないでください。お客様の仕事は全くできなくなります」と全力で宣伝してるようなもんで。

営業的なことを考えたら、「Windows XP から Windows8 にアップグレード可能」「XP時代のアプリにも対応」の2つの条件は、これはもう絶対外せない条件だったろうと。もちろんそんなもんを実現しようとしたら、プログラマーからは怨嗟の声が上がるけど。商売なんだからコレは外せない、仮に新OSが不具合だらけになったとしてもコレだけは絶対に実現しろ、企業ってのは利益を追求する組織なんだぞ、コレをやらなかったら儲けがガツンと減るんだから何が何でもやれ、と言われて当然の条件、だったのではないのかなと。

そもそも、「新PCを購入してください」なんてのは、「Microsoft Office しか日常の作業で使ってません」みたいな状況でしか通用しない話だよなと…。ユーザの利用状況を見ようとしてない・想像してない感がアリアリ・ユーザの実状を無視してる感が半端ないのに、だけど新製品買ってくださいってのは、感情的にも逆撫でしてるも同然で。

せめて、XP時代のPCでも(かろうじて、ノロノロと、息も絶え絶えで)動く、Windows8 の簡易版っぽいものを用意して、「いくらなんでもコレにアップグレードしろ。じゃないとサポートしてられないんだよ」と誘導しておけば…。あるいは、Windows8の動作条件を下げて、一旦導入はさせるけど「遅すぎてこりゃダメだ。PCを新調するしかないか」と思わせて、計2回、OSを買わせるように仕向けるとか。

まあ、そんな妄想をしてみても、もはや遅いのですが。

それにしても、昔はあれほど銭ゲバだった・商売熱心だった Microsoft にしては、どうしてこうも全方位でダメダメな商品を…。一体どうしちゃったんだ、Microsoft。OSの動作が安定してるとか、UIがどうとか、そういうレベルじゃないところでボロボロな印象。あの商売上手ぶりは、どこへ消えてしまったのだろう…。

もっともそのへん、Googleあたりもアレだなと思っていたり。こういうタイミングで Chrome OS を宣伝できたら、多少はシェアを取れたのでは…。いや、そのへん Google にとって、もはや黒歴史だったりするのかなと邪推したりもするけど。本気で売りたいという気配が見えないような。

まあ、愚痴っててもしょうがないので、Linuxの情報を集めないと…。やっぱり Ubuntu かな…。Linux Mint も気になるのだけど、半年毎にOSを新規インストールとか勘弁してって感じだし…。

2013/02/22(金) [n年前の日記]

#1 [dtm] Genkhordにコードを追加したり

_Genkhord - 窓の杜ライブラリ

ボタンを押すとコードを鳴らしてくれるアプリ。一応 Windows7 x64上でも動いているし、FL Studio にMIDIデータを渡せてるように見えております。 *1

コードを鳴らすと、「次にこのコードを鳴らすと自然に繋がって聞こえるかもよ」と光って教えてくれるアプリなのだけど、もう少しそのデータを増やしたいなと。

Genkhord のインストールフォルダに chords.txt というファイルがあるので、そこに追加していくとコードを増やせる、ように見えた。試しに以下を追加。
C F Am Cm6 D7 Gm Gm7 C7 F
C F F7 A# A#m F
C F C7 Gm F
C F Cm7 A# Gm7 C7 Am7 Dm Dm7 Gm7 C7 Gm F

C Fm A#m7 D#7 G# C7 Fm
C A#m7 C7 A#m7
C Fm A#m6 C7 F Gm7 C7 F Am7 Cm6 D7 Gm A#6 F C7 F Fm
C G# A#m C7 Fm
C Fm A#m7 C7 Fm
C Fm A#m6 C7 Fm

C G B7 Em Am Am7 D7 G
C G Baug C Cm G
C G Em Am Cm D7 G
C C Am Dm G7 C
C C Am7 Dm G7 C C7
C F C Am Dm G7

C Em Am7 D7 G
C Am6 B7 E F#m B7 E C#7 F#m Am6 E A B7 E7 Em

C Gm Cm E7 F7 A# D7 Gm
C Gm D7 Gm
C Gm Cm Gm
C Gm G7 Cm Gm
C F7 C7
C Dm7 G7 C7

C A# F7 A#

C Bm Em7 A7 DM7 GM7 Em7 C#7 F#7 Bm
C F#7 GM7 A6 Bm
C Bm Em7/A A7 F#7sus4 F#7 B7 Em7 A7 DM7 Bm
C Bm C#m7-5 F#7 Bm
C Bm B7 Em7 A7 DM7 Bm

C Cm CM7 Cm7 F7 Fm7 A#7 D# Dm7 G7 C7 G#M7 Fm7 A#7 Gm7 C7
C C7 Fm7 A#7 Gm7 C7
C C7 G# Fm7 A#7 Gm7 C7
C C7 G7 C7
C C7 Fm7 A#7 Dm7/G
最初の「C」は、「Key:C」を示してる、のかな? その次からは、スペース区切りで、「このコードを押したら」「このコードが続く」「このコードが続く」…みたいな。

ということで、本棚にあったその手の本に書いてあったコードの並びを試しに書いて期待通りに動くか確認。一応合ってるように見える。ずらずらと書いていけば、途中に書かれたコードが押された時も、「そのコードを押したら次はコレ」と光らせてくれるように見えた。

ただ、光った通りに押していくと、既存曲のパクリになってしまう可能性が高まるわけで。

もっとも、逆に考えれば、光ってないコードを選んで押していけば、既存曲とは違うコードの並びになる可能性が少しは高まるはず。…でも、聞いてて気持ちがいい並びはある程度決まってるだろうから、どうしても既存のソレと同じになりそうな気もする。どこかで組み合わせが頭打ちになる、いや、既に頭打ちになってたりしないのかな。どうなんだろう。
*1: 「MIDIせれくたー」と「LoopBe1」を導入した環境では一応動いてる。

2012/02/22(水) [n年前の日記]

#1 [javascript] enchant.jsを勉強中

ドットインストールの動画は見終わったので、Web記事を探しつつ勉強中。

Aptana Studio 3 上で打って試しているのだけど。行数が増えるとソースフォーマッターがエラーを出してしまうことに気付いた。なんだコレ。functionの中が長くなると処理できなくなるのだろうか? 何にせよ困った。手作業でソース整形なんてやってられないし。そのあたりも含めて、javascript 対応のヨサゲなIDEって無いものかしら。

#2 [pc] キーボードの配列図ってなかなか見つからない

キーボードを販売してるメーカでは公開されてたりするのだけど、「改変しちゃダメ」が前提のようで。自由に使える配列図がなかなか見つからず。「自分で描かなきゃダメなのか…」と途方に暮れていたところで、 _109日本語キーボード というページに遭遇いたしました。おお…ありがたや。

こういった図を描くのは大変ですわな。ある程度描画を自動化できないものか。でも、作ったところで需要は滅多に無いか。

メーカではどうやって描いてるんだろう。コツコツ描いていくのだろうか。しかしそれでは、キー配列の検討作業すら一苦労だろうし。おそらく何か専用ツールがあるに違いない。どんなツールなのだろう。

#3 [pc][neta] gvimでjとkを同時に押してみたり

何も起きなかった。hとlも同様。真っ当な作りになっているらしい。…チッ。<おい。

なんとなく思ったけど、これ、ショートカットキーの割り当てに使えないかな。もしかしてキーボード側で、ハードウェア的にソレはできないようになってるんだろうか。

仮にできたとしても、同時に押すタイミングがシビアだから実用にはならないかもしれず。入力を受け付けるために一定時間待っていたのでは反応が悪くなりそうだし。うむ。どう転んでも使い道は無さそう。

いや待て。本当にそうだろうか。「まさか、それとそれを同時に押すとは! そんな使い方があったなんて!」みたいな何かが…。

やっぱり思いつきませんが。

#4 [windows] タイプ数カウンターをインストールしてみたり

久々にちょっと測定してみようかと、Windows7 x64上にタイプ数カウンターをインストール。ちゃんとカウントされているように見える。ありがたや。

画面を見ながらカウントされる様子を眺めていたら、異様に Ctrl と w の打鍵数が多いことに気が付いた。何故。…あ、そうか。マウス(A4tech X-718BK)の拡張ボタンに、Ctrl+wを割り当てているせいか。Firefoxでタブをガンガン閉じていく時に、入力されてしまうのだな。であれば、Ctrl と w の打鍵数は除外して分析しないと。

これ、記録をファイル保存できないのが痛い。せめて、ウインドウサイズが変更可能で、かつ、リスト表示領域を縦に長くすることができたら、テキストでは残せないまでも、キャプチャして記録を画像として残すことも可能なのだろうけど。

#5 [pc][neta] emacsのキー割り当てっておかしいよなあ

自分は軟弱者だから、emacs系エディタ上でも、カーソル移動にカーソルキーを使ってしまうのだけど。改めて考えてみれば、emacsのキー割り当てって、やっぱりおかしいよなあ…と唐突に思ったのでなんとなくメモ。

emacsの「『正統』なカーソル移動」は、 C-p,C-n,C-f,C-b、だっけ? 図にすると、こう。
emacsのカーソル移動キー割り当て
どれが「↑↓←→」か分かります? 自分は分からない。知ってるけど、見ても分からない。

例えば、ゲーム界隈ではWASD配置(?)てのがあるんだけど。
WASD配置
比べてみて、どうスか? *1

ちなみにvimは、HJKLがカーソル移動。
vimのカーソル移動キー割り当て
emacsよりはマシだけど、上下が分かりづらい。どうしてこうなったかというと、 _ADM-3aはhjklに矢印が刻印されてた からだそうですが。なんというチート。まあ、ホームポジションから(さほど)指を離さずに操作できるから、これはこれで…うむむ。

再度確認するけど、emacsは、こう。
emacsのカーソル移動キー割り当て
どんだけ理屈をこね回して肯定してみても、図にすれば一目瞭然。「emacsって…うわぁ…」とフツーの感性なら思うのではないかと…。ありえねえだろ、この割り当て。おかしいだろ。と。

などと言いつつも。どうしてこうなったのか明確な理由が。例えば _このページ を眺めると、 ということだそうで。 *2 「機能名の頭文字を割り当てたぜ!」という清々しい理由がそこに。たぶん。

察するに、emacsには基本思想があるのだろうと思うわけですよ。「全ては言葉に支配される」という思想が。…勝手な想像ですが。

M-x で機能名を打ち込むのも、その思想の表れだろうなと。そして、カーソル移動すらその思想に基づいて割り当てがされている。最初から終わりまで、一つの方針を貫いている。いや、貫こうとしてきた。それがemacsであり、emacsの文化。なのだろうと。それに、道具の属性を思い返すと、筋は通っている気もする。延々とテキストを相手に戦う道具なのだから、各仕様についてどうしようかと悩んだ時は、「テキストは、名前は、単語は、どうなっているか?」を考えるべきだ! みたいな。…あくまで勝手な想像ですが。

でもね。それってどうなんだろうな、と。

自分は以前、半年ほど、キーのタイプ数をカウントするソフトを入れて、どのキーがどれだけ押されているか実測したことがあるのですけど。カーソルキーは、他のキーと比べて、打鍵数が数倍違うのです。そのくらい、カーソル移動ってヤツは、利用頻度が圧倒的に高い。けして、他のキーや、他の機能と、同列に扱っていい存在じゃない。…嘘だと思うなら試しに測ってみてください。測ってみれば、ほとんどの人は納得してくれるはず。「forwardのf」なんてノリで割り当てを決めていい機能じゃないですわ。なのにemacsは、このカーソル移動のデフォルト割り当てを、30年間(?)そのまま放置ですよ。

プログラムを作る時は、ベンチマークを取るでしょう? キー割り当ても同じ。本来は実測と分析が必要。自分も含めて皆サボって、頭の中だけで考えてテキトーに決めちゃって慣れてしまってこれで良かったんだと思い込んじゃってるけど。延々と触る道具だからこそ、本当なら、調べて、考えて、分かった上で決めていかないといけない。…面倒臭くてサボっちゃうけど。

そう考えるとemacsは、「分かってないままここまで来ちゃったエディタ」かも、と疑念が湧くのです。カーソル移動以外にも、「これはいかがなものか」という部分が、触った人なら思い浮かぶはず。アレとか、アレとか、アレとか。怪しいでしょ。ねえ。いかがなものかと。そんなアレコレも、実測してみれば、ここは特別扱いすべきだ、基本ルールから外れても効率を追求しなきゃいかん部分だと分かったのではないか。そんな夢想をするのです。どこかの時点で、「皆、今までスマンカッタ。この割り当ては合理的ではなかった。今からでも遅くない、こっちの割り当てに変更する!」という強権発動が出てきてもおかしくはなかったのではないかと。…実はそういう議論も昔はあったのかしら。絶対ありそう。分かりませんけど。

とはいえ。QWERTY配列と同様、「慣れ」の前では全ての合理性は否定されるのです。ここまで来たら、変えるわけにはいかない。変えたら達人の皆様からブーイングの嵐だろうし。 *3 しかし、だからといって。カーソル移動すらこんな状態で、「emacsを使うべき」とは…ちょっと…ねえ?

ま、カーソルキー使えば済む話なんですけど。

何はともあれ、emacsのキー割り当てはおかしいよなあ、という話でした。そんだけッス。

余談。 :

どうしてわざわざキーのタイプ数を実測したことがあるかと言うと、 _Logicool K340がとにかく使いづらくて。 一体全体自分はどんだけカーソルキーを押してるのだと疑問が湧いたからなのですが。色々発見がありました。enterキーが可哀相とか。半年間一度も押されないキーとか。

あの製品、コンパクトでグッドな感じだったのだけど。いかんせん、カーソルキーがなあ…。

更に余談。 :

emacsを日本に持ち込む際に、
  • C-m : m)igi
  • C-h : h)idari
  • C-s : s)hita
  • C-u : u)e
に割り当て直していたら、受ける印象も違ったのだろうか。

いや…それは…どうだろうか…。む。ここで「どうだろうか」と思うってことは、emacsの方針がやっぱりおかしい証拠かもしれず。

改めてキーボードを眺めてみると、0〜9、a〜zのどこにカーソル移動を割り当てるかは実に悩ましい。記号キーに割り当てれば、文字の形から働きを類推しやすいかもしれないけれど、英語キーボードと日本語キーボードでは記号キーの配置が違うことも多いから、不都合が生じそう。そう考えると、vim のモード切替+HJKL割り当てが合理的に見えてくる。どこでも通用しそうだし。

カーソルキーが無い状態でカーソル移動しようとすると、悩みますな。「forwardのf」も分かります。悩むわ、コレ。難しい。「ああ、もう、forwardのfで!」も分かっちゃう。

それにしても、どんな割り当てが妥当だったんだろう…?

*1: WASD配置も一部では「糞だ」って言われているみたいだけど。上下を同時押しできないとか、小指で押せるキーの数が減ってしまうとか。…えっ? 上下キーの同時押し? ゴクリ。バグが…ありそうな…ドキドキしてきた…。
*2: もしかすると、シェル(sh等)のソレに習ったのかなという疑問もあるのだけど、自分は歴史を知らないので分からんのですが。この割り当てを最初にやったのは、誰なのかしら。
*3: いや。達人は、黙って自分の ~/.emacs に、(global-set-key 〜) を書くだけだと思う…。

2011/02/22(火) [n年前の日記]

#1 [linux] Ubuntu機の設定中

VNC の設定と、LAMPのインストールを。

VNCでハマる :

ログイン画面を表示することができない…。

Windows上からGUIで各種操作をしたいと思ったので、Ubuntu 10.04LTSサーバ版(32bit版)で VNC を動かそうと。
  • vnc4server をインストール。sudo apt-get install vnc4server だろうか。
  • Windows XP上の Putty から ssh でログイン。
  • vncserver を実行。
  • パスワードを入力。
  • hoge:1 でアクセスできるよとメッセージが表示された。
  • Windows上で、RealVNC 4.1.2日本語版をインストール。VNCビューワを起動。
  • hoge:1 にアクセス。パスワードを入力。
  • Ubuntu のデスクトップ画面が出た。
  • ssh 側で、vncserver -kill hoge:1 を実行してプロセス?をkill。
ここまではできた。が、これだとsshでログインして、vncserver と打ち込まないと VNC が使えない。いきなり GDM っぽいログイン画面が出るようにしたい。が、これが上手く行かない。

xinetd をインストール。
sudo aptitude install xinetd
sudo vi /etc/services で編集。ファイルの最後に、以下のような行を追加。ポートは5900とか5901とか。
xvnc  5901/tcp  # VNC Server
sudo vi /etc/xinetd.d/xvnc で編集。以下の内容を追加。
service xvnc
{
        disable         = no
        socket_type     = stream
        wait            = no
        user            = nobody
        server          = /usr/bin/Xvnc
        server_args     = -inetd :1 -geometry 1280x1024 -depth 24 -desktop Ubuntu_1004 -PasswordFile /etc/passwd.vnc -once -query localhost -securitytypes=none

        port = 5901
}
パスワードも設定。
sudo vncpasswd /etc/passwd.vnc

でも上手く行かない。何でも、Ubuntuが標準で使ってる gdm は、xdmcp をサポートしてないらしい。xdm か wdm を使え、と書いてある。
_MaverickMeerkat/ReleaseNotes/ja - Ubuntu Wiki


_lost and found ( for me ? ): Ubuntu 10.10 : vnc + xdm ( XDMCP ) : replace gdm with xdm , replace xdm with wdm を参考にして XDM をインストール。

sudo aptitude install sysv-rc-conf
sudo /etc/init.d/gdm stop
sudo sysv-rc-conf gdm off
sudo aptitude install xdm
sudo sysv-rc-conf xdm on
sysv-rc-conf は、RedHat系の chkconfig みたいなものらしい。サービスの有効無効を設定できる模様。

sudo vi /etc/X11/xdm/Xaccess で編集。
#*   #any host can get a login window
↓
*    #any host can get a login window
sudo vi /etc/X11/xdm/xdm-config で編集。
DisplayManager.requestPort:    0
↓
!DisplayManager.requestPort:    0
sudo reboot でOSを再起動する。…たしかに xdm ならログインできる。

試しに wdm もインストール。
sudo aptitude install wdm
cat /etc/X11/default-display-manager
sudo vi /etc/X11/wdm/Xaccess
sudo vi /etc/X11/wdm/wdm-config
/etc/X11/wdm/wdm-config を編集して、
# Don't listen for XDMCP
!DisplayManager.requestPort:    0
の行をコメントアウト。reboot。

xdm でログインするとフツーにデスクトップが表示されるが、wdm でログインするとメニューが英語になってしまう。最初に表示されるロゴも debian になってる。xdm を使うべき、ということなのだろうな…。
sudo dpkg-reconfigure gdm
sudo sysv-rc-conf wdm off
sudo sysv-rc-conf xdm on
sudo reboot
…ダメだ。Ubuntu機の画面をディスプレイに表示したら、GUIログインの画面が出てこない状態になった。gdmに戻さないとダメか。
sudo dpkg-reconfigure gdm
sudo sysv-rc-conf xdm off
sudo sysv-rc-conf gdm on
sudo reboot
当然これでは RealVNC でアクセスした際にログイン画面が出てこない。

アレ? ログイン画面が出てこないと思ったら、出てきた。何故。

どうやら、1回sshで vncserver を動かすとログイン画面が出てくるような感じ。vncserver -kill :1 等を打ってkillすると、ログイン画面が出なくなる。…だったらログイン画面を経由せずに直接アクセスしちゃったほうがいいのでは。なんだかな。

gdm 2.32 以降をインストールすれば XDMCP が有効になるという記事も見かけた。

_Linux/Ubuntu 10.10のXDMCP接続をgdm 2.32で可能に - 情報技術の四方山話

試してみたが、10.04環境に入れようとしているせいか、他のライブラリ?パッケージ?が古いと言われてインストールできなかった。

LAMP環境をインストール。 :

Linux + Apache + MySQL + Perl,Python,PHP、の略らしい。
sudo tasksel
で、「LAMP server」を選択。途中で MySQL の rootパスワードの入力を求められるので、入力。

以下を参考にして作業。
_仮想マシンに LAMP を入れる tasksel | マキシマ文庫
_マジ日記 : UbuntuにApacheをインストール
_マジ日記 : UbuntuにPHP5をインストール
_マジ日記 : UbuntuにMySQLをインストール
_Ubuntu-phpMyAdminのインストール: Notepad On The Web

phpmyadmin なるものもインストールしたが、設定が上手く行かない。sudo vi /etc/apache2/conf.d/phpmyadmin.conf で 127.0.0.1 と 192.168.x.x だけがアクセスできるように設定したかったのだけど、192.168.x.x はともかく、127.0.0.1 が妙な動作をしているような。http://127.0.0.1/〜 ならアクセスできるが、http://localhost/〜 ではアクセスできない。何が原因なのだろう。

sudoに制限を。 :

sudo vi /etc/pam.d/su で編集。
# auth       required   pam_wheel.so
auth       required   pam_wheel.so group=adm
この場合はadmグループのユーザだけがsudoを使えるようになるらしい。

ユーザを追加。 :

Ubuntu の場合は、useradd じゃなくて adduser を使ったほうが楽らしい。sudo adduser hoge 、みたいな。adduserならホームディレクトリが作られるし、一つ一つ設定項目を尋ねてくるのだとか。

Ubuntu上で追加したソレは、 UIDやGIDが1000番以降になっているけど。Vine Linux 上では 500番以降が使われているわけで。Vine Linux から Ubuntu にファイルをコピーしたいのだけど、どうすれば…。UIDやGIDが違うから、そのままコピーしたら所有者が変わってしまう状態になるよな…。Vine Linux 上でUIDやGIDを変えてから rsync で、とか? ユーザ属性を持たせないで rsync で、とか? あるいは ftp を上手く使えないものか。

HDDの温度を調べたい。 :

sudo aptitude install hddtemp でインストール。インストール時にデーモンとして起動するかと聞いてきたが「いいえ」を選択した。sudo hddtem /dev/sda と打ったらHDD温度が表示された。室温22度に対して24度ぐらい。かなり低い。ケース前面で12cmファンが回り、その風が直接HDDに当たっている上、ケースを足元に置いているから冷たい空気が入ってきているのかもしれない。…埃が怖いけど。

2010/02/22(月) [n年前の日記]

#1 [nitijyou] 腹痛で目が覚めた

数ヶ月おきに、こういうことがあるなあ…。

下腹部を指で触っていったら、左下のあたりだけが、ボコッとした感じの硬さで。ここには何があるんだろう。

#2 [cg_tools][prog] blenderで実験中

MascotCapsule用の .bacファイルをエクスポートして、エディタで内容を確認してみた限りでは、ビルボードとして扱いたいポリゴンの座標値は、こちらの想定した値になっているのだけど。うーん。

#3 [nitijyou] 調子が悪いので早目に寝ることに

PM09:00頃、頭がガクンと。寝ることにする。

2009/02/22() [n年前の日記]

#1 [vine][linux] PenIII 800MHz機のVine Linuxを設定

自宅サーバ機のバックアップ機として使えるようにしておきたいなと。

sshの設定。 :

/etc/ssh/sshd_config を設定。インストール時に設定したユーザ名でログインしてから su - で rootユーザになってから、vi /etc/ssh/sshd_config で編集。
# rootでログインできるかどうか。yesにすればログイン可。noにすればログイン不可。
#PermitRootLogin yes PermitRootLogin no # パスワードなしでログインできるかどうか。noにすればログイン不可、なのかしら?
PermitEmptyPasswords no # 後で、Xでログイン実験するために、このへんも設定。
X11Forwarding yes X11DisplayOffset 10 X11UseLocalhost yes # ログインできるユーザを指定。 # AllowUsers hogeuser root AllowUsers hogeuser
:wq で保存・終了。

/etc/hosts.allow を設定。ログインできるIPを指定。
sshd: 192.168.1.0/255.255.255.0

/etc/hosts.deny を設定。ログインさせないIPを指定。
sshd: ALL
基本的に全部ログインできないようにしておいて、/etc/hosts.allow でログインできるIPだけ抜け道?を作っておく。

sshd再起動。
/etc/rc.d/init.d/sshd restart

2008/02/22(金) [n年前の日記]

#1 [eclipse] eclipse 3.3.1.1 java をインストール

_Eclipse Downloads から Eclipse IDE for Java Developers なるパッケージを選択。 eclipse-java-europa-fall2-win32.zip をDL。解凍。任意のフォルダに設置。

プラグインを色々と入れた。 :

_Pleiades
日本語化するプラグイン。1.2.1 をインストール。

_Eclipse Text Editor Extensions (ETEE)
フィルターが使えるようになるプラグイン。net.sf.eclipseexeditor_1.0.7.zip をDL。解凍。eclipse の plugins フォルダにコピー。

_Editor Enhancements Plugin
単語補完や矩形選択・貼り付けができるようになるプラグイン。 _SourceForge.net: Lunar Eclipse から、3.1.1をDL。解凍。eclipse の plugins フォルダにコピー。

_subclipse
svnプラグイン。 _http://subclipse.tigris.org/update_1.2.x をアップデートマネージャで追加。1.2.4 をインストール。が、Subclipse Integration for Mylyn (Optional) 2.0.0 のチェックがつけられない。オプションだから、入れないという手もあるのだけど。Mylyn関係のサイトにもチェックを入れて、「必須項目の選択」等を選んでどうにか。

eclipse.ini は下のような感じに。 :

--launcher.XXMaxPermSize
384M
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms384m
-Xmx384m
-XX:PermSize=96m
-XX:MaxPermSize=96m
-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

やっぱり固まる。 :

「ワークスペースをビルド中 (0%)」と表示されたま延々と。うわーん。

とうとうワークスペースを作り直した。eclipse のキー設定等、全部やり直し。トホホ。

新規→svnリポジトリ(だったか?)で、今まで弄ってたプロジェクトを復活できた。と思ったら昨日弄ってたところがコミットされてなかった。また作り直し。トホホホホ。

#2 [prog] なんで Java には unsigned が無いのだろう

符号を強制的につけるあたりが、富豪的プログラミングなんだろうか。フゴー。

iアプリの場合、容量との戦いなわけで、unsigned の有無は結構大きいのだけどな。

2007/02/22(木) [n年前の日記]

#1 [digital] Canon PowerShot A300が壊れてた

久々に電源を入れたら、液晶には _こんな _感じ の画面が。とうとう出ちゃったか…。>CCD不良。

_キヤノン:サポート|デジタルビデオカメラ/デジタルカメラをご使用のお客さまへ :

_キヤノン、CCD不具合問題の修理受付を開始
_CCD不具合問題関連記事リンク集

Canon 製に限った話ではないけど、特定時期の、特定のCCDを使った機種では、不具合がおきるという話。

#2 [jiji] _【中国】 “割り込み、信号無視、たん吐き、罵倒などやめよう” 北京五輪までに改善なるか?

中国って凄いな…。 _(via 狐の王国 「赤信号、みんなで渡れば恐くない」を実際にやると……)

#3 [game] _オンラインで同時に複数人がビックバイパーを操作して迫り来る敵を集団でボコボコにしているようにしか見えない

なるほど、たしかに。面白いなぁ。

#4 [anime] _ひどい鈴原トウジを考えた

_もっとひどい鈴原トウジを考えた

友情が芽生える予感がしない。

#5 [game] _ソニック・ザ・ヘッジホッグ(PS3、XBOX360版)のロード画面

_ソニックザヘッジホッグ プレイ映像…というかロード映像…

気になる話。

#6 [game] _海外PS2ソフトの自由奔放具合

アチラの人達にはかなわんなぁ。

2006/02/22(水) [n年前の日記]

#1 [windows] _地図画像から所用時間を計算「到達時間距離測定」

マウスで地図を辿ると時間が表示されるらしい。面白い。インストールしてみた。自分が「近いはず」と思ってた店が、計算上は遠かったことが判ったりもして。…まあ、坂道が間にあるから、実測時間は変わってくるとは思うけど。

#2 [windows][iappli] _04WebServer - 帯域幅制限を設けられる個人利用向けHTTPサーバー

インストールしてみた。これでiアプリからhttpアクセス…できるかしら。さてはて。

ResposeCodeが返ってくるところまでは確認できたが、その後の読み込み処理中にエラーが発生してるらしい。うーむ。

#3 [nitijyou][web][digital] ネット通販を利用してみた

TOSHIBAのネットショップ Shop1048 で、HDDレコーダ RD-H1 を注文。また、Sycom で、Sempron CPU の PCを注文。…どっちも代金を振り込まないと注文完了にはならないけど。

どちらのサイトも、IEで閲覧しないと利用できなかった。Shop1048は、Firefox で表示するとレイアウトが崩れる。Sycom は、「Firefoxで利用すると異常動作する」とページに書いてあった。…IEしか使えないとなると、ネット通販はMacユーザやLinuxユーザでは使えない、という現状があったりするのかもしれん。 *1 Geckoエンジン使用のブラウザにさえ対応できてるサイトなら、Win、Mac、Linuxのどれでも利用できるサイトになるのだけど。なんだかもったいない気もする。が、仕方ないか。

Sycom には、最初、パーツについての質問を送ってみたのだけど。1〜2時間で返事が届いた。迅速な対応ぶりに感心。今まで通販を利用して、こんなに早く返事がきたことはなかった気がする。もっとも、カスタマイズ可能なショップブランドPCであるが故、注文完了してから発送可能になるまで1〜2週間かかるわけで。それを考えると、せめて商品受注(?)の段階できわめて迅速に対応することは、客の信頼を得るために最低限必要な要素、だったりするのかもしれない。

今から地上波アナログのみのHDDレコーダを購入しても意味があるのだろうか。 :

とはいえ、手持ちのビデオデッキがもうダメダメだし。当のデッキ自身で録画したテープでありながら、再生するとトラッキングが合わないという。限界だ。我慢ならない。耐えられない。ここ数週間泣きそうになってる。>自分。

ビデオデッキの使用時間を大雑把に計算してみる。今現在、30分アニメ番組を1週間に10本録画している状態。また、1年間 = 約52週と考えると。つまり1年間におけるビデオデッキの使用時間は、((30 x 10) / 60) x 52 = 260時間。たぶん。2011年に地上波アナログが消滅したとしても、あと4年ほどあるだろうから…。HDDレコーダを1040時間分は使える計算に。逆に、たった1040時間で使えなくなるとも言えるけど。

1万円前後のHiFiビデオデッキを購入して、地上波アナログが消滅するまでしのぐこともできそうだけど。HiFiビデオデッキで1本のテープに 30 x 10 = 300分を録画するとなれば、3倍録画を使うしかない。ここ数年の自分は、特撮番組も見ている = 特撮技術を使ったシーンを確認したい時がちょくちょくあるので、そういう場面では3倍録画の画質はきわめて不適当。合成シーンか否かすら判別できない。その点HDDレコーダなら、SP画質レベルで録画してもテープが終わってしまうことはない、というメリットはありそう。

自分、数年前に、キャプチャ道にちょっとだけ足を踏み込んだときもあったけど。TOSHIBA製HDDレコーダなら、フリーソフトを利用してLAN経由で録画データをPCに転送できるらしい。もう、キャプチャする際に、PCのスペック云々・安定性云々に悩まされなくて済む。PCの電源を入れっぱなしにしておく必要もないし、キャプチャ中にPC操作を控える必要もない。 *2

ということで、利用可能な残り時間にしても、見てる番組の種類からしても、自分の趣味性からしても、メリットがあるのではないかと予想。ということで注文ボタンを「ポチッとな」してしまったり。…ホントにええのやろか。

PCのほうは、先日GyaOの動画が見れないことを知ってショックを受けたから。 :

無料で楽しめるデータがそこにあるのに、PCのスペックが足りなくて楽しめないのでは、やはり悲しいというか。…まあ、「現在使ってるCPUの、倍のクロックの品が、1万円前後になったら買い時」という風に考えていたし。PCのすぐ横にTVがあるのに動画をTVに映せないというのも耐え難くなってきたし。これ以上、Slot1やSocket370の延命にこだわり過ぎたらかえって高くつきそうだし。FSBが高いと全体の性能が改善することを体感してしまったし。…最初は、パーツを一つ一つ集めて自作することを考えてたけど、ショップブランドPCと同じパーツを通販サイトで揃えようとしたら合計額がかえって高くなってしまったりもして。ということでこれもポチッとな。…まあ、今を逃すと、今後身動きとれない(?)状態になりそうな予感もあるので。

*1: MacはIEがあるけれど、Windowsのソレとは結構動作が違うようだしなぁ。
*2: ただ、RD-H1は、コピーワンス番組の転送はできないらしい。地上波デジタルはコピーワンスの信号が必ず入ってるらしいので、地上波アナログが消滅したら、本当に使い道はなくなる。

この記事へのツッコミ

Re: ネット通販を利用してみた by Y    2006/02/24 20:51
Sempronとはいえソケ754ですから体感速度は桁違いに
速くなると思いますよ〜
Re: ネット通販を利用してみた by けいと    2006/02/26 00:42
最近はCPUもメモリも拡張スロットも
規格がどんどん変わっていくので
ちまちま積み上げていくそばから陳腐化するんだよね。

IDEですらSATAになってきて昔のHDDが使えなくなりそうだし、
IEEE1394は絶滅寸前だし。

FDDのIFも時間の問題かなぁ。こうなるとUSB以外は安心できないし、
電源もどんどん大容量化+専用端子追加傾向で古いものは使いまわしできないし…
ATX規格は主流がBTXに切り替わるのだろうか。この辺は疑問。
体感速度は桁違い by mieki256    2006/02/28 16:08
> 体感速度は桁違い

わ。あまり期待させないでください(?)…
一番安いラインナップを選んだので、
何かオチがつきそうな予感があるのです。
期待しちゃダメだぞ… >自分
PC関連の規格の変化 by mieki256    2006/02/28 16:30
> IEEE1394は絶滅寸前

ガーン。USBより安定してると聞いてたけど、それが絶滅しかかってるとは…
それもそれで困るな…
いや、規格が一つになればユーザにとっては便利なのだろうか…うーん。

> ATX規格は主流がBTXに切り替わるのだろうか

たしかに、思ったより普及が進んでない感がありますね。>BTX。
このままだと、「やっぱりなかったことに」なりそうで、うーん。

何にせよ、将来性については検討しないで
選択してくのが楽でいいのかもしれないなぁ…
Re: PC関連の規格の変化 by けいと    2006/02/28 22:48
> 絶滅しかかってるとは

著作権管理ができないので
映像業界的には「なかったこと」にするみたいです:-P
IEEE1394対応のDVD/HDDレコーダーとか
ほしいときは中古をあさったほうがいいかも。
どっち道こぴわんを乗り越えられるわけじゃないとは思いますから
無意味といえば無意味なんですけどね。

個人的にはIEEE1394って結構いい加減な規格だと思いますよ。
IEEE1394でPCにカメラ2台挿しすると
一方の再生映像がもう一方のカメラに入ってきたりしますし…
単なる二股コンセントかよ、っていう気持ちになります。
IEEE1394絶滅のわけ by mieki256    2006/03/03 15:08
> 著作権管理ができないので映像業界的には「なかったこと」にするみたい

なるほど納得。とっても納得な話でありますな。

2005/02/22(火) [n年前の日記]

#1 [anime] SEED、砲台壊しの回

主人公メカの合体・分離する設定を活用できたのはイイ感じかも。でも、他にも活用できないものかしら。…案が浮かばないや。合体・分離・変形を活かすのって難しそう。

市民の残虐行為の描写にちょっと感心。ああいうシーンが入るだけでちょっと違う。気がする。

#2 [anime] プリキュア、爺さんと番人の生活臭の回

やっぱりあの部屋に住みついてるのか。コソコソ隠れてる描写がいいなぁ。ぶっちゃけありえない設定なのに、妙にリアルに考察しちゃって笑いに繋がっていくこの手の描写は好きだったり。

「ななみさんとほなみさん」で、つい笑ってしまった。誰やねん、ソレ。ベタというかパターン化してるけど、こういう笑いは好きだなぁ。

最後のあたりの、黒の人の家の浴室前、洗濯機が3DCGで描かれてた。ような。 *1 何故そんなところだけ3DCGなのだ。しかも、洗濯機は2カットしか登場しないのに。そんなもんのためにわざわざモデリングしたのだろうか。わからん… (;´Д`) *2
*1: ポリゴン数? 分割数?が足りなくて、半球ガラスの輪郭がいかにもポリゴンな感じになっちゃってる。
*2: でも、浴室前の床はCGでパターンを繰り返してたようにも見えて、そこはなるほどと。TVシリーズの背景=『手描きであっという間に描いてしまうもの』『「べらんめえ。CGツール使って描くなんてかったるくてやってられるかよ。気が短いのが性分だ。こちとら江戸っ子でい」的ノリの部署』みたいな印象があったのだけど。自分が見落としてた・意識しなかっただけで、結構何気ない背景にもCGが活用されてるのかもしれないなぁ…。いや、今のアニメは全部CGと言えばCGなんだけど。そうじゃなくて。うーん。こういうのはどう呼び分ければいいのやら。

#3 [anime] BJ、幼女誘拐の回

セーラームーンの変身シーン並みの回り込み少女漫画タッチ萌えピノコを描写した後、3DCGとの混合でMatrix的アッチョンブリケを披露。全く無意味なことに力を注ぎまくる姿勢は個人的には大好き。でも、あのシーンを見たら激怒しちゃう人が居たりして…。 *1

にしても、今回のシナリオは一体何がウリだったのだ。何故この話がチョイスされたのか、それすらわからん… (;´Д`)
*1: ヤシガニ出現一歩手前でこらえてる別作品のスタッフの方とか。

#4 [anime] ジャスティライザーをビデオで見返してたんだけど

カメラがスゴイ速さで真上に動いて、人物の真横に移動してた。…どうやって撮ったんだろう。カメラマンをワイヤーで吊ったのかしら。頑張ってるなぁ。

#5 [jiji] 合理性と感情

昨日だったか一昨日だったか。ほりえもんへのインタビュー映像がNHKのニュースで流れてて。その後、フジテレビのトップ?らしき人がコメントを出してる映像が流れてたのだけど。

ほりえもんは、「ニッポン放送にとってメリットのある話」云々の発言。フジテレビのトップは、「従業員は全員嫌がってる」と発言。

かたや、合理性云々。 *1 かたや、感情云々。

後者に対してなんとなく、日本的だなとぼんやり思ったりもして。
*1: その主張内容が妥当であるかどうかはさておき。

#6 [anime] イデオンについてつらつらと

ロマンアルバムを眺めながら。

劇場版って何年前の作品なんだろう :

_1982年の作品 らしい。20年前の作品なのか。

_『伝説巨神イデオン』は北米発売されないのですか :

VHSカセットで出たことはあるけど、全然売れなかったらしい。むべなるかな。

イデオンという作品の不幸なところは :

未見の人が、話・展開の概略を知るためのバージョンが存在してないところかも。劇場版“だけ”では話がちっともわからんし。 *1 かといってTV版を見るのは色々と難しい。 *2 1stガンダムなら劇場版3部作を見ればどうにかなるけど。イデオンは…。

3〜4クールの昔の作品を、1クール *3 に編集して放映する、みたいなムーブメントが起きないかしらとバカ妄想。イデオンやキャシャーンを、1クールにして、新作と同様の扱いでTV放映。無理か。でもないか。「EVAのルーツ」とか「最近話題になった実写版のオリジナル」と称して宣伝すれば意外と商品に…。なるわけないか。スポンサーもつかんわな。そもそも構成・編集作業が大変そう。誰もやりたがらないかも。

ありえないけど、今、イデオンを作り直すとしたら :

やっぱり未見の人をターゲットにして作るのだろうな。旧作を見た人に向けて作ってみてもしょうがない。イデオンという作品を知らない若い世代に、「こんな作品もあったんだよ」と。

考えてみれば、リメイクモノや、前作からえらく年月が経ってしまった「○○2」「実写版○○」は、えてして、前作・旧作を見ていない人達をターゲットにして作ってるような気もしてきた。

そもそも作り手側が、自分より年上、あるいは同世代に向けて作品を作ること自体、滅多にないような感も。大体は、自分より年下の、若い世代・後輩たち・子供達に向けて作ってるような気もする。映像しかり。音楽しかり。小説しかり。いや、例外はあるけれど。…あるのか? ちょっと思い出せない。

イデオンの実写版とか作らないかな :

外人俳優だけを使って。エンタープライズ号モドキの上に真っ赤な巨大ロボットが立って。ことあるごとに画面の中はミサイルだらけ。惑星をメリメリと切り裂いて。…インパクトはありそう。何といっても、主人公のヘアスタイルがオレンジ色のアフロだし。ワオ。強烈。話題になること間違いなし。誰もが「これ、バカ映画?」と思うであろうと。<オイ。

などと夢想したけど、発動編の実写化はどう考えても無理だよなぁ…。絵ならまだしも、実写で幼女の首が吹っ飛ぶのはヤバすぎる…。ラストのあたりも無理か。全員ヌードだもんなぁ…。そうか。つまりイデオンを実写化できるのはAV業界しかないと。<何を口走ってるのか、君は! *4 イデオンのAVか…。オレンジアフロの男優が裸で エロエロ 色々と張り切っちゃって「俺のイデオンガン、発射!」とか。でも時々不発で終わる。制御できない。それがイデ。でも隣室の赤ん坊が泣き出すと急にパワーが集中する。ってどんな性癖やねん。…下品でスイマセン。

ふと思ったけど :

ターンAガンダムは、バッドエンドにならなかったイデオン、かしら。…以前誰かが言ってたのだっけか。

*1: ロマンアルバム中で富野“総監督”自身、「劇作としては0点。しかしプロモーションとしては90点」と称してるけど。たしかに単体では作品として成立してない。…そして、この傾向は、ザブングル・グラフィティでさらに拍車をかけてしまったような感も。
*2: 長さも苦痛だろうし。入手もたぶん難しいだろうし。
*3: 劇場版3部作というのは、時間にして6時間=360分ほど。TVの話数で言えば、30分x12話ぐらい。実際は、TV版1話につき30分丸々使ってるわけではないから…。劇場版3部作 = 1クール = TVシリーズで13話分と考えていいのかも。
*4: と思ったが、当時もその手の冗談がよく出ていたようなおぼろげな記憶も。…記憶違いかしら。

#7 [hns] DL部分を修正

〜/lib/HNS/Hnf/Command.pm の、DL の部分に class 指定を。theme.ph 中のCSS指定に追加。border で囲むようにした。

2004/02/22() [n年前の日記]

#1 [nitijyou] 首を痛めたみたい

寝てる間に変な方向に捻ってしまったのだろうか。向きによってはかなり痛いです。困ったな。

#2 [anime] 鋼の錬金術師の原作本を読んだ

妹が単行本を立ち読みして気に入ってしまったらしく、6冊まるごと買ってきた。借りて読ませて貰ったけど、なるほど、評判が高いのも頷ける。原作版を読んだ事で、アニメ版がかなり上手い構成になってることも判ったり。あれだけ順番を入れ替えて、破綻するどころか、下手すると原作よりしっくり来る流れになってるんだから凄い。

2003/02/22() [n年前の日記]

#1 読めないCD-R

YahooBBが未だリンク切れしていない。話が違う。何が起きているのだ。

親父さんが所属してる写真同好会の作品が入ったCD-Rにおいて画像が読めないという相談を親父さんから受ける。正確には親父さんのPCでは読めるのに他の方のPCでは読めない、との事。試しに自分のPCで読んでみたらPhotoshopでは全て読めるのに、Irfanviewでは一部の画像が読めない。何故。と思ったがIrfanviewを最新版3.80にしたら読めた。つまり3.75にバグがあったという事か。しかしこれは本来の問題とは無関係。

2002/02/22(金) [n年前の日記]

#1 X-box

妹が車で買い物に行くとのことで、ついでに乗せてもらいました。R買いたかったんで。
妹の方が運転上手いですわ。車線変更とかスイスイやってるし。


NHK見てたらX-boxが出てて、「うわ、デカっ」と。
それにしてもゲームって、ファミコン時代から比べると、娯楽商品として完全に定着しちゃいましたね <何時の時代のコメントだか

2001/02/22(木) [n年前の日記]

#1 容量不足と森さん

床屋行ってきました。サッパリ。

新作CG描きました。
キャラは前に仕上がってたんですが、背景で悩んでました。
アプしようとしたらHP容量が不足。5Mはキツイ。
仕方ないんで、Galleryだけ無料HPスペースに移しました。

森総理って凄いですよね。
10人中9人が信用してない総理大臣なんですよね。ホント凄い。
なのに変えることができない。
森さんの希望叶って、ほとんどの日本国民は選挙の日に寝てたのかな。
次の選挙でも寝るのかな。

2000/02/22(火) [n年前の日記]

#1 (NoTitle)ネタが無いなぁ…じゃ...

ネタが無いなぁ…じゃあ時事ネタでも。
例の新潟の少女監禁事件、明らかに警察の捜査する気がナッシングだった様子が日々明らかになってますがホント腹立たしい限りです。警察が9年間事件を黙認して女性の人生奪ったようなもんで。スピード違反の検挙にやっきになって点数稼ぎしてる場合じゃないだろ、みたいな。
これでは京都の小学生殺害事件を起こしたああいう種類の社会に対して歪んでしまった偏執的正義感を持った犯罪者なんかを警察官にして捜査させたほうが、もしかして全然マシなんじゃないスか。そっちのほうがよっぽどしっかり仕事してくれそう。なんてバカな事を思ってしまうぐらい救いようがない最近の警察かと。
しかし似たような事件、福島県でも起きてるんですよね。福島県警、レベル的には新潟県警と同じようなもんだろうから、やっぱりどっかでとんでもないミスしてそう。また悪い意味で田舎だから、問題発覚しそうになったら県警の全力をあげて隠し通そうとしそうで怖い <ただのオイラの偏見…であってほしいもんだけど
ということで、こういう事件を未然に防ぐため、そういった犯罪者の欲求を見事に解消してしまうモノ…つまり「マルチ」を早急に開発・商品化することを提案します <ってなんでそうなるだよオイ

なんかムチャクチャですな。

1999/02/22(月) [n年前の日記]

#1 (NoTitle)病院へ行ってきました...


病院へ行ってきました。
現在2週間に一度、お医者さんに現状を説明してお薬をもらうという感じです。
いつもはおふくろさんの運転する車で隣の市にある病院へ連れてってもらうのですが
今日は試しに自転車で行ってみました。片道1時間半。
前回の通院のときは徒歩で帰ろうとしたのですが、
4時間ぐらいで市の境目まで行ったところでスタミナ切れ。
それに比べれば今回は楽勝(なにがだ)のはずが…やっぱり足がガクガクです。(^_^;)

ただ自転車で行ったおかげで、帰りにあちこちを回れました。
おかげでアキバにも店を出してるパソコンショップを発見。
ソフトアイランドと言う店なのですが、
PHS、無線機器、パソコンパーツが同じくらいのスペースで置いてありました。
しかし。
店内には客がいなくて、スーツ姿の男性二人、制服姿の女性二人の店員さんがいるだけ。
うーむ、入りづらい…。
勇気を振り絞り(ってほどのことでもないけど)店内に足を踏み入れると、
「いらっしゃいませ〜」の後、呟くように「お客さんが来たよ…」(マジ)
オイオイ。なんかすぐつぶれそうやな、大丈夫か?
パーツの値段は、ちょっと高い感じ。
もっともアキバのソフトアイランドも、アキバではそんなに値段が安くない店なのですが。
(サウンドカードの類は安かったはず。)
ぐるりと店内を見渡すと、とてもカッコイイデザインのミドルタワーケースを発見。
このところSlot1CPUが入るケースを探していたところなので、グッときてしまいました。
しかし電源は250W。(ミドルタワーは普通235Wか250Wが一般的なのですが。)
300Wのが欲しかったので悩みます。が、やはりこのデザインの前には…
…ということで買ってしまいました。
梱包のためカバーを取りつけようとした店員さん、
ケースをまじまじと見て「へー、これ面白いな…」
オイ。商品知ってて売ってるんとちゃうんかい。大丈夫かいな、この店。
ケースは宅急便で送ってもらうように頼み、自転車で家路を急ぐと、だんだん後悔の念が。
今使ってるケースもデザインだけで(黒いというだけで)買って大失敗だったのに、今回も…。
内蔵ベイは少ない、ケースの加工も荒そうでなんだか手を切っちゃいそう、
TBのケース(今使ってるやつと同じ)だし電源とMBの相性が悪かったらどうしよう…。
まあそのへんは届いてからのお楽しみでしょうか。

弟から借りていたゲームをプレイしてみました。
タイトルは「せ・ん・せ・い」。DOのゲームです。
「虜」が結構好きだったので期待してプレイしてみると…なんじゃこりゃ。
いやー、久々のクソゲーでした。(クソゲー度も低いんで救いようが無い。)

友人の谷渕氏にお祝いアニメを贈りました。興味のある方は行ってみてください。(^_^)
ここ → _STUDIOARITOL Homepage Let's FreeS!!


以上、26 日分です。

過去ログ表示

Prev - 2024/05 - 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