2024/02/27(火) [n年前の日記]
#1 [prog] GLFWを使ったC言語のソースをコンパイルしようとして少しハマった
OpenGLの学習をする際に、ウインドウの生成処理その他を簡単にしてくれる GLFW というライブラリ(ツールキット?)があって、少し勉強しようとしていたのだけど。C言語で使おうとしたところコンパイル時にリンクエラーが出て少しハマってしまった。
環境は Windows10 x64 22H2 + MinGW gcc 6.3.0。
エラー内容は以下と同じ。
_c++ - "undefined reference to __mingw_free" when linking GLFW - Stack Overflow _c - GLFW with GCC Mingw flags for static doesn't work as documented - Stack Overflow
環境は Windows10 x64 22H2 + MinGW gcc 6.3.0。
エラー内容は以下と同じ。
_c++ - "undefined reference to __mingw_free" when linking GLFW - Stack Overflow _c - GLFW with GCC Mingw flags for static doesn't work as documented - Stack Overflow
◎ gcc 6.3.0利用時の注意点 :
一般的には、gcc で glfw3 を使ったソースをコンパイルする場合、-lglfw3 を指定すればリンクができるはずなのだけど…。
SourceForge から入手できる MinGW gcc 6.3.0 を使って、GLFW を利用しているC言語のソースをコンパイルする場合は、以下のように `-lglfw3dll` を指定しないとリンクエラーが出てしまう。
この場合、生成した .exe を動作させるためには、別途 glfw3.dll が必要になる。objdump を使って、生成された exe が要求するdllの一覧を出してみると、glfw3.dll が入ってることが分かる。
SourceForge から入手できる MinGW gcc 6.3.0 を使って、GLFW を利用しているC言語のソースをコンパイルする場合は、以下のように `-lglfw3dll` を指定しないとリンクエラーが出てしまう。
gcc 01_helloglfw.c -o 01_helloglfw.exe -static -lglfw3dll -lopengl32 -lwinmm -lgdi32 -mwindows
この場合、生成した .exe を動作させるためには、別途 glfw3.dll が必要になる。objdump を使って、生成された exe が要求するdllの一覧を出してみると、glfw3.dll が入ってることが分かる。
> objdump -p 01_helloglfw.exe | grep dll DLL Name: glfw3.dll DLL Name: KERNEL32.dll DLL Name: msvcrt.dll DLL Name: msvcrt.dll
◎ gcc 9.2.0なら問題は起きない :
SourceForge から入手できる MinGW gcc 6.3.0 ではなく、OSDN から入手できる MinGW gcc 9.2.0 を使えば、-static -lglfw3 を指定することで、glfw3.dll を必要としない実行形式を作れる。
そもそも、GLFWの公式配布版バイナリに同梱されている README.md には、「MinGW (built with GCC 9.2.0)」という記述があった。gcc 6.3.0 ではなく gcc 9.2.0 の利用を前提としたバイナリだったらしい…。
しかし、MinGW gcc 9.2.0 が入手可能な OSDN は、サービス終了するという話があったはずで…。サービス終了が中止になったという報道も見かけたけれど、今までの不安定な状況を鑑みれば、今後どうなるのか予測がつかない。将来的には Windows上で動作する MinGW gcc 9.2.0 が入手できなくなる可能性が高いだろうなと。
そもそも、GLFWの公式配布版バイナリに同梱されている README.md には、「MinGW (built with GCC 9.2.0)」という記述があった。gcc 6.3.0 ではなく gcc 9.2.0 の利用を前提としたバイナリだったらしい…。
しかし、MinGW gcc 9.2.0 が入手可能な OSDN は、サービス終了するという話があったはずで…。サービス終了が中止になったという報道も見かけたけれど、今までの不安定な状況を鑑みれば、今後どうなるのか予測がつかない。将来的には Windows上で動作する MinGW gcc 9.2.0 が入手できなくなる可能性が高いだろうなと。
◎ MSYS2を使えばハマらずに済む :
GLFW を使って実験するなら、MSYS2 + gcc 13.2.0 を使ったほうがいいのかもしれない。そちらなら、-static -lglfw3 の指定で、glfw3.dll を必要としない実行形式を生成できる。
また、MSYS2用パッケージとして GLFW も用意されているので、公式サイトからバイナリをDLして手作業でコピーして、といったこともしなくて済む。
$ objdump -p 01_helloglfw.exe | grep dll DLL Name: GDI32.dll DLL Name: KERNEL32.dll DLL Name: msvcrt.dll DLL Name: OPENGL32.dll DLL Name: SHELL32.dll DLL Name: USER32.dll
また、MSYS2用パッケージとして GLFW も用意されているので、公式サイトからバイナリをDLして手作業でコピーして、といったこともしなくて済む。
$ pacman -Ss glfw ... mingw32/mingw-w64-i686-glfw 3.3.9-2 [インストール済み] A free, open source, portable framework for OpenGL application development (mingw-w64) mingw64/mingw-w64-x86_64-glfw 3.3.9-2 [インストール済み] A free, open source, portable framework for OpenGL application development (mingw-w64) ...
◎ 公式配布版 GLFW のバイナリについて :
glfw-3.3.9.bin.WIN32.zip までは MinGW 9.2.0 用のライブラリファイル (lib-mingw/) が入っているが、glfw-3.3.10.bin.WIN32.zip 以降は、lib-mingw-w64 しか入っていない。
◎ テクスチャ画像読み込み機能が無くなっていた :
GLFWはテクスチャ画像の読み込み機能があるという話を見かけて気になっていたのだけど、ググってみたらそれは昔の話のようで、glfw3 では削除されていたらしい。
_GLFW: Moving from GLFW 2 to 3
ごっそり無くなってるなあ…。
_GLFW: Moving from GLFW 2 to 3
Removed functions
glfwReadImage, glfwReadMemoryImage, glfwFreeImage, glfwLoadTexture2D, glfwLoadMemoryTexture2D and glfwLoadTextureImage2D.
ごっそり無くなってるなあ…。
[ ツッコむ ]
2023/02/27(月) [n年前の日記]
#1 [pc][linux] GParted liveを使ってHDDのパーティションを移動
_昨日、
無料で利用できるパーティション管理ツール GParetd live を使って、Gateway M-2408j のHDDパーティションをリサイズ(縮小)したけれど。ついでにパーティションの移動もやってみたので手順をメモ。昨日のメモとダブってしまう部分もあるけれど…。
ちなみに、Gateway M-2408j のHDDには、Windows Vista と Linux Mint 21.1 64bit版がインストールされていて、デュアルブートできるようにしてある。OSの選択は、Linux Mint インストール時にインストールされた grub (grub2) を使って行う。
ちなみに、Gateway M-2408j のHDDには、Windows Vista と Linux Mint 21.1 64bit版がインストールされていて、デュアルブートできるようにしてある。OSの選択は、Linux Mint インストール時にインストールされた grub (grub2) を使って行う。
◎ GPartedをUSBメモリにインストール。 :
GParted live (gparted-live-1.5.0-1-i686.iso) を、32GBのUSBメモリに、Rufus 3.1 Portabl で書き込んだ。書き込む際にISOモードとDDモードのどちらかを選択するけど、今回はISOモードを選んだ。
_GParted -- Download
_Rufus - 起動可能なUSBドライブを簡単に作成できます
USBメモリから起動。Gateway M-2408j の場合、起動ロゴが出ているタイミングでF10キーを叩けばブートメニューが表示されるので、そこから起動デバイスを選ぶ。
途中でアレコレ尋ねてくるあたりは、 _昨日 のメモを参考に。
作業前のパーティション構成は以下。
作業内容は以下。
GParted の画面で、パーティションを右クリックするとメニューが開くので、「リサイズ/移動」を選べば、縮小、拡張、移動を指定できる。指定が終わったら「適用」相当のアイコンをクリック。今までの指定が順次行われていく。
_GParted -- Download
_Rufus - 起動可能なUSBドライブを簡単に作成できます
USBメモリから起動。Gateway M-2408j の場合、起動ロゴが出ているタイミングでF10キーを叩けばブートメニューが表示されるので、そこから起動デバイスを選ぶ。
途中でアレコレ尋ねてくるあたりは、 _昨日 のメモを参考に。
作業前のパーティション構成は以下。
- /dev/sda1 Windows Vista用の何か
- /dev/sda2 Windows Vista 約160GB
- /dev/sda3 拡張パーティション
- /dev/sda5 Linux Mint 約50GB
- /dev/sda6 Linux swap
作業内容は以下。
- Windows Vista用のパーティションを160GBから120GBにリサイズ(縮小)。
- 40GBほど空き領域ができるので、拡張パーティションの先端を前にずらす。
- Linux Mint 用パーティションと Linux swap も前に移動した。移動する際、「この処理をするとOSがブートできなくなるよ」と警告が出てきたけど、そのまま作業を進めた。
GParted の画面で、パーティションを右クリックするとメニューが開くので、「リサイズ/移動」を選べば、縮小、拡張、移動を指定できる。指定が終わったら「適用」相当のアイコンをクリック。今までの指定が順次行われていく。
◎ grub2の再インストール :
OSのブート領域が入ってるパーティションを移動してしまうと、grub2 の起動時におかしくなって Linuxなどが起動しないので、grub2 の再インストールが必要になるらしい。
再インストールの手順は以下に書いてあった。
_GParted -- GParted Manual
Gparted live の入ったUSBメモリで起動して、GParted を閉じてから、デスクトップ上の Terminal をダブルクリックして端末を開いて、コマンドを打ち込んでいく。
ちなみに、Gparted live で起動した際、ユーザ名は user、パスワードは live になってるらしい。root のパスワードは設定されてない模様。sudo を使って管理者権限でコマンド実行ができる。
_GParted -- Live CD/USB/PXE/HD
今回、Linux Mint の入ってるパーティションは /dev/sda5。
Linuxがインストールされているパーティションをマウントするためのディレクトリを作成。ディレクトリ名は何でもいい。たぶん。
パーティションをマウント。
もし、/boot を / と別パーティションにインストールしてある場合なら、以下の指定も必要になるらしい。今回は / の中に /boot が入っていたので、この指定はしなかった。
他の重要らしいディレクトリを割り当て。
マウントしたパーティションをルート(「/」)にする…らしい。たぶん。ここでエラーが出たけど、それについては後述する。
grub (grub2) のインストール。Debian や ubuntu は grub-install で良い、と書いてあるように見える。
再インストールの手順は以下に書いてあった。
_GParted -- GParted Manual
Gparted live の入ったUSBメモリで起動して、GParted を閉じてから、デスクトップ上の Terminal をダブルクリックして端末を開いて、コマンドを打ち込んでいく。
ちなみに、Gparted live で起動した際、ユーザ名は user、パスワードは live になってるらしい。root のパスワードは設定されてない模様。sudo を使って管理者権限でコマンド実行ができる。
_GParted -- Live CD/USB/PXE/HD
今回、Linux Mint の入ってるパーティションは /dev/sda5。
Linuxがインストールされているパーティションをマウントするためのディレクトリを作成。ディレクトリ名は何でもいい。たぶん。
sudo mkdir /tmp/linuxmint
パーティションをマウント。
sudo mount /dev/sda5 /tmp/linuxmint
もし、/boot を / と別パーティションにインストールしてある場合なら、以下の指定も必要になるらしい。今回は / の中に /boot が入っていたので、この指定はしなかった。
sudo mount /dev/sda3 /tmp/linuxmint/boot
他の重要らしいディレクトリを割り当て。
sudo mount --bind /dev /tmp/linuxmint/dev sudo mount --bind /proc /tmp/linuxmint/proc sudo mount --bind /sys /tmp/linuxmint/sys
マウントしたパーティションをルート(「/」)にする…らしい。たぶん。ここでエラーが出たけど、それについては後述する。
sudo chroot /tmp/linuxmint
grub (grub2) のインストール。Debian や ubuntu は grub-install で良い、と書いてあるように見える。
# grub-install /dev/sda or # grub2-install /dev/sda
◎ chrootでエラー :
chroot を実行したところでエラーが出た。
エラーメッセージでググると…。
_chroot - ArchWiki
アーキテクチャって何ぞや。要するに、HDDにインストールされているLinux Mint は64bit版だったのに、GParted live は32bit版(i686)を使ってしまったので、「32bit版と64bit版ではアーキテクチャが違うで」となってしまったらしい。たぶん。つまり今回は、GParted live も、HDD内にインストールされてるOSに合わせて64bit版(amd64)を使わないといけなかった模様。
どうせなら、HDDにインストールされている Linux Mint 21.1 のライブCD(DVD?)を使って作業してみることにした。そのほうが確実に作業できるだろう…。
linuxmint-21.1-cinnamon-64bit.iso を入手。Rufus でUSBメモリに書き込み。USBメモリから起動した後の作業手順は前述の通り。
ちなみに、Linux Mint のライブCDで起動した際、ユーザのパスワードは設定されてないらしいので、sudo を使って管理者権限でコマンドを実行する際にパスワードの入力は求められない。
_Linux Mint のデフォルトパスワード(live session password) - simotin13's message
これで、HDDから Linux Mint 21.1 64bit版が起動してくれる状態になった。一応念のために、HDDから Linux Mint が起動した状態で、grub の再インストールと更新をしておいた。
この状態なら、Windows Vista + Linux Mint が240GB未満に収まってくれたはずだから、240GBのSSDにも換装できるんじゃないか…。と思ったけれど調べてみたら HDD から SSD に換装する場合、dd なるコマンドを使って中身を転送することになるようで。となると、HDDの最後のあたりを転送する際にSSD側の容量が足りなくてエラーが発生しそうな気がする…。
chroot: cannot run command '/usr/bin/bash': Exec format error
エラーメッセージでググると…。
_chroot - ArchWiki
chroot: cannot run command '/usr/bin/bash': Exec format error というエラーが表示される場合、ホスト環境と chroot 環境のアーキテクチャが一致していません。
アーキテクチャって何ぞや。要するに、HDDにインストールされているLinux Mint は64bit版だったのに、GParted live は32bit版(i686)を使ってしまったので、「32bit版と64bit版ではアーキテクチャが違うで」となってしまったらしい。たぶん。つまり今回は、GParted live も、HDD内にインストールされてるOSに合わせて64bit版(amd64)を使わないといけなかった模様。
どうせなら、HDDにインストールされている Linux Mint 21.1 のライブCD(DVD?)を使って作業してみることにした。そのほうが確実に作業できるだろう…。
linuxmint-21.1-cinnamon-64bit.iso を入手。Rufus でUSBメモリに書き込み。USBメモリから起動した後の作業手順は前述の通り。
ちなみに、Linux Mint のライブCDで起動した際、ユーザのパスワードは設定されてないらしいので、sudo を使って管理者権限でコマンドを実行する際にパスワードの入力は求められない。
_Linux Mint のデフォルトパスワード(live session password) - simotin13's message
これで、HDDから Linux Mint 21.1 64bit版が起動してくれる状態になった。一応念のために、HDDから Linux Mint が起動した状態で、grub の再インストールと更新をしておいた。
sudo grub-install /dev/sda sudo update-grub
この状態なら、Windows Vista + Linux Mint が240GB未満に収まってくれたはずだから、240GBのSSDにも換装できるんじゃないか…。と思ったけれど調べてみたら HDD から SSD に換装する場合、dd なるコマンドを使って中身を転送することになるようで。となると、HDDの最後のあたりを転送する際にSSD側の容量が足りなくてエラーが発生しそうな気がする…。
[ ツッコむ ]
#2 [linux] swapパーティションを設定
ふとなんとなく、Gateway M-2408j + Linux Mint 21.1上で、swap のサイズを増やしたいなと思い立ってしまって。
GParted live を使って swapパーティションのサイズを 1.7GBから4GBに増やしてから、linux swap としてフォーマットをかけたところ、Linux Mint 21.1 が起動する際に swapパーティションを見つけられず、起動が随分と待たされる状態になってしまった。やっちまった。
以下を参考にして修復作業。
_Linux | SWAP領域の確認と作成 - わくわくBank
_/etc/fstabのデバイス名が変化し起動失敗した時の対処法【UUIDで解決!】|株式会社ネットアシスト
以下でswapの状態を確認できる。実行してみたら何も出てこなかったので、swapが有効になってない状態なのだろう…。
swap領域を作成。今回 swapとして使いたいパーティションは /dev/sda6。
swapとして指定。
ところで、mkswap を使った時に出てきたUUIDとはなんぞや。
_UUIDとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
_UUID - Wikipedia
_UUID
ユニークなIDをHDDのパーティションにつけることで今後の管理を楽にしよう、ということなのかな。たぶん。
blkid というコマンドを使って、UUID を確認できる。
今回は以下のような構成だから…。Linux swap の UUID は、"1e053734-5db9-46ee-b790-93fd19d29eca" ということらしい。
/etc/fstab を修正してswapを永続化してみる。おそらく、/etc/fstab 内で今まで指定してたUUIDと、今現在のUUIDが違ってしまったので、swapパーティションを見つけられない状態になったのだろう…。
ただ、巷の解説記事を眺めた感じでは…。昨今は linux swap のパーティションを作らずに、swapファイルを作ってどうにかする場合が多そうに見えた。わざわざswap用のパーティションを作るのは時代遅れなのだろうか?
GParted live を使って swapパーティションのサイズを 1.7GBから4GBに増やしてから、linux swap としてフォーマットをかけたところ、Linux Mint 21.1 が起動する際に swapパーティションを見つけられず、起動が随分と待たされる状態になってしまった。やっちまった。
以下を参考にして修復作業。
_Linux | SWAP領域の確認と作成 - わくわくBank
_/etc/fstabのデバイス名が変化し起動失敗した時の対処法【UUIDで解決!】|株式会社ネットアシスト
以下でswapの状態を確認できる。実行してみたら何も出てこなかったので、swapが有効になってない状態なのだろう…。
sudo swapon -s
swap領域を作成。今回 swapとして使いたいパーティションは /dev/sda6。
$ sudo mkswap /dev/sda6 mkswap: /dev/sda6: 警告: 古い swap 署名を消去しています。 スワップ空間バージョン 1 を設定します。サイズ = 4.1 GiB (4399820800 バイト) ラベルはありません, UUID=1e053734-5db9-46ee-b790-93fd19d29eca
swapとして指定。
$ sudo swapon /dev/sda6 $ sudo swapon -s Filename Type Size Used Priority /dev/sda6 partition 4296700 0 -2swapが有効になった。
ところで、mkswap を使った時に出てきたUUIDとはなんぞや。
_UUIDとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
_UUID - Wikipedia
_UUID
ユニークなIDをHDDのパーティションにつけることで今後の管理を楽にしよう、ということなのかな。たぶん。
blkid というコマンドを使って、UUID を確認できる。
$ sudo blkid /dev/sda2: LABEL="Partition_1" BLOCK_SIZE="512" UUID="3CF00E26F00DE74C" TYPE="ntfs" PARTUUID="2bab359d-02" /dev/sda5: UUID="55c2b3ae-1716-4184-b19c-05a1f97c36fc" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="2bab359d-05" /dev/sda1: LABEL="Recovery" BLOCK_SIZE="512" UUID="4252930E529305B7" TYPE="ntfs" PARTUUID="2bab359d-01" /dev/sda6: UUID="1e053734-5db9-46ee-b790-93fd19d29eca" TYPE="swap" PARTUUID="2bab359d-06"
今回は以下のような構成だから…。Linux swap の UUID は、"1e053734-5db9-46ee-b790-93fd19d29eca" ということらしい。
- dev/sda2 : Windows Vista
- dev/sda5 : Linux Mint (/)
- dev/sda1 : Windows Vista 用データドライブ相当
- dev/sda6 : Linux swap
/etc/fstab を修正してswapを永続化してみる。おそらく、/etc/fstab 内で今まで指定してたUUIDと、今現在のUUIDが違ってしまったので、swapパーティションを見つけられない状態になったのだろう…。
sudo vi /etc/fstab
# swap was on /dev/sda6 during installation UUID=1e053734-5db9-46ee-b790-93fd19d29eca none swap sw 0 0
ただ、巷の解説記事を眺めた感じでは…。昨今は linux swap のパーティションを作らずに、swapファイルを作ってどうにかする場合が多そうに見えた。わざわざswap用のパーティションを作るのは時代遅れなのだろうか?
◎ まだ時間がかかる。 :
Linux Mint 21.1 起動時に、swapパーティションを見つけてくれるようになったけど、まだ何かをチェックするところで時間がかかる。"scanning for btrfs file systems" と表示されたところで、十数秒待たされてしまう。
_[SOLVED] Very Slow boot time on Mint-19.3
_ubuntu - How to get rid of the “scanning for btrfs file systems” at start-up? - Unix & Linux Stack Exchange
_resume - Swap: From partition to file, now get "no matching swap device is available" - Ask Ubuntu
_Ubuntu18.04でハイバネート(休止状態)ができない
上記のやり取りで、「btrfs はそもそも使ってない環境が多いだろうからアンインストールしてみたらどうか」という話があったので試してみる。
update-initramfs とやらを実行した際に、警告が表示されていることに気づいた。ひょっとして、RESUMEとやらの指定で、古いswapパーティションのUUIDが記述されたままなのでは…? そこも修正しないといかんのではないか。
変更してから、再度 sudo update-initramfs -ukall を実行。警告が出てこない状態になった。この状態で再起動をかけたら、起動時に待たされる症状は無くなった。
おそらく、btrfs云々は関係なくて、initramfs云々で存在しないUUIDが指定されてたのが問題だった気がしてきた。
_[SOLVED] Very Slow boot time on Mint-19.3
_ubuntu - How to get rid of the “scanning for btrfs file systems” at start-up? - Unix & Linux Stack Exchange
_resume - Swap: From partition to file, now get "no matching swap device is available" - Ask Ubuntu
_Ubuntu18.04でハイバネート(休止状態)ができない
上記のやり取りで、「btrfs はそもそも使ってない環境が多いだろうからアンインストールしてみたらどうか」という話があったので試してみる。
sudo apt purge btrfs-tools btrfs-progs sudo update-initramfs -ukallちなみに、上記を実行したら、Linux Mint に標準でインストールされているバックアップツール、timeshift もアンインストールされた。
$ sudo update-initramfs -ukall update-initramfs: Generating /boot/initrd.img-5.15.0-60-generic W: initramfs-tools configuration sets RESUME=UUID=8f8f3f59-dd26-4779-b96a-2d6d75a3d620 W: but no matching swap device is available. I: The initramfs will attempt to resume from /dev/sda6 I: (UUID=1e053734-5db9-46ee-b790-93fd19d29eca) I: Set the RESUME variable to override this. ...
update-initramfs とやらを実行した際に、警告が表示されていることに気づいた。ひょっとして、RESUMEとやらの指定で、古いswapパーティションのUUIDが記述されたままなのでは…? そこも修正しないといかんのではないか。
sudo vi /etc/initramfs-tools/conf.d/resume
RESUME=UUID=1e053734-5db9-46ee-b790-93fd19d29eca
変更してから、再度 sudo update-initramfs -ukall を実行。警告が出てこない状態になった。この状態で再起動をかけたら、起動時に待たされる症状は無くなった。
おそらく、btrfs云々は関係なくて、initramfs云々で存在しないUUIDが指定されてたのが問題だった気がしてきた。
[ ツッコむ ]
2022/02/27(日) [n年前の日記]
#1 [pc] LEDについて調べてる
本当にLEDって削って好きな形にできないのかなとググって調べていたのだけど。まあ…フツーはそんなことをしないみたいだな、と…。
大量のLEDを使って何か作れないか、みたいなアレコレもついつい眺めてしまった。3次元的にLEDを配置して光らせる作例などは面白そうだなと。Raspberry Pi を使って制御したりするっぽい。
大量のLEDを使って何か作れないか、みたいなアレコレもついつい眺めてしまった。3次元的にLEDを配置して光らせる作例などは面白そうだなと。Raspberry Pi を使って制御したりするっぽい。
[ ツッコむ ]
2021/02/27(土) [n年前の日記]
#1 [hsp][raspberrypi][linux] HSPと/dev/input/についてまだ調べてる
HSP3.6beta を Raspberry Pi Zero W + Raspberry Pi OS buster 上で動かした際に、キーボードやマウスの入力が取得できない件について、まだ調べてる。
_HSP と /dev/input/by-id について調べてる
_HSP と /dev/input/by-id についてもう少し調べてる
/dev/input/by-id/ 以下に出現する文字列を頼りにして、どれがキーボードでどれがマウスかを判別するのはどうやら難しそう、という気配を感じているのだけど。
では、どうすれば、どれがキーボードでどれがマウスかを判別できるのだろうか?
Linux は、/proc/bus/input/devices を見れば、どんな入力機器が接続されているのか情報を得ることができる。cat /proc/bus/input/devices と打ってみれば、入力機器の名前だの、どの event番号に何が割り当てられているのか等々を取得できるわけで。
ならば、その /proc/bus/input/devices を読んで、これがキーボードでこれがマウス、と当たりをつけることができるのではないか。
と思って、Raspberry Pi Zero W上でそのあたりを確認してみたのだけど。こうすればいいのでは、という方法が見えてこなくて…。以下に、調べてみた結果を挙げておくけれど…。
_BUFFALO BSKBW03WH + Logicool VX Nano (キーボードは反応するけどマウスは無反応)
_Logicool K400r (キーボードもタッチパッドも無反応)
_Lenovo KU-1255 (キーボードもトラックポイントも反応)
/proc/bus/input/devices を眺めてみても、ココを頼りに判断すればいいのだ、という部分が見つからない…。
ちなみに、確認した機器は以下。
Linuxのデスクトップ画面上でキーボードもマウスも使えているのだから、これがキーボードでこれがマウスだと判別する方法が絶対必ずあるはずだけど。ググってみても、作法に遭遇しない…。それぞれどうやって実現しているのやら…。
_HSP と /dev/input/by-id について調べてる
_HSP と /dev/input/by-id についてもう少し調べてる
/dev/input/by-id/ 以下に出現する文字列を頼りにして、どれがキーボードでどれがマウスかを判別するのはどうやら難しそう、という気配を感じているのだけど。
では、どうすれば、どれがキーボードでどれがマウスかを判別できるのだろうか?
Linux は、/proc/bus/input/devices を見れば、どんな入力機器が接続されているのか情報を得ることができる。cat /proc/bus/input/devices と打ってみれば、入力機器の名前だの、どの event番号に何が割り当てられているのか等々を取得できるわけで。
ならば、その /proc/bus/input/devices を読んで、これがキーボードでこれがマウス、と当たりをつけることができるのではないか。
と思って、Raspberry Pi Zero W上でそのあたりを確認してみたのだけど。こうすればいいのでは、という方法が見えてこなくて…。以下に、調べてみた結果を挙げておくけれど…。
_BUFFALO BSKBW03WH + Logicool VX Nano (キーボードは反応するけどマウスは無反応)
_Logicool K400r (キーボードもタッチパッドも無反応)
_Lenovo KU-1255 (キーボードもトラックポイントも反応)
/proc/bus/input/devices を眺めてみても、ココを頼りに判断すればいいのだ、という部分が見つからない…。
ちなみに、確認した機器は以下。
- USB接続ワイヤレスキーボード BUFFALO BSKBW03WH
- USB接続ワイヤレスマウス Logicool VX Nano
- USB接続ワイヤレスキーボード(タッチパッド付) Logicool K400r
- USB有線接続キーボード(トラックポイント付) Lenovo KU-1255
Linuxのデスクトップ画面上でキーボードもマウスも使えているのだから、これがキーボードでこれがマウスだと判別する方法が絶対必ずあるはずだけど。ググってみても、作法に遭遇しない…。それぞれどうやって実現しているのやら…。
◎ EV値は今一つだった。 :
/proc/bus/input/devices の中に「B: EV=xxxxxx」という部分があって、その機器がどういう信号を出してくるのか、ビット単位のフラグで列挙されているのだけど。
もしかして、その値を見れば、どれがキーボードでどれがマウスか分かるのでは? と思ったものの…。同じ値が並ぶ場合が多くて、これだけでは判別できそうにないなと…。
ちなみに、16進数を眺めても何がなんだか分からんので、EV値がどういう内容なのか確認するための Pythonスクリプトを書いてしまった。
_evdump.py
動作させると以下のような感じになる。EV値(16進数)を打ち込むとフラグ内容を表示してくれる。exit と打ち込むと終了。
ちなみに、lsinput の出力結果と照らし合わせてみたけど、結果は一致した。処理は合ってるっぽい。というか、Raspberry Pi OS上では lsinput を使ったほうが楽。
ところで、lsinput を、PC + Ubuntu Linux 20.04 LTS で動作させたら、フラグ文字列が全部「(null)」になってしまった。何故? Raspberry Pi OS buster 上で lsinput を動かすと、ちゃんと表示されているのだけど…。
もしかして、その値を見れば、どれがキーボードでどれがマウスか分かるのでは? と思ったものの…。同じ値が並ぶ場合が多くて、これだけでは判別できそうにないなと…。
ちなみに、16進数を眺めても何がなんだか分からんので、EV値がどういう内容なのか確認するための Pythonスクリプトを書いてしまった。
_evdump.py
""" EV値が何を示しているかを表示 Windows10 x64 20H2 + Python 3.8.7 64bit """ # reference material # # Programming for a Touchscreen on the Raspberry Pi | ozzmaker.com # https://ozzmaker.com/programming-a-touchscreen-on-the-raspberry-pi/ # # linux/input.h at master - spotify/linux # https://github.com/spotify/linux/blob/master/include/linux/input.h # ( 0 0 0 0 0 0)H # (7654 .21. .... .... ..54 3210)B # |||| || || |||| # |||| || || |||+- EV_SYN # |||| || || ||+-- EV_KEY # |||| || || |+--- EV_REL # |||| || || +---- EV_ABS # |||| || |+------ EV_MSC # |||| || +------- EV_SW # |||| |+---------------------- EV_LED # |||| +----------------------- EV_SND # |||+-------------------------- EV_REP # ||+--------------------------- EV_FF # |+---------------------------- EV_PWR # +----------------------------- EV_FF_STATUS ev_list = { 0x00:"EV_SYN", 0x01:"EV_KEY", 0x02:"EV_REL", 0x03:"EV_ABS", 0x04:"EV_MSC", 0x05:"EV_SW", 0x11:"EV_LED", 0x12:"EV_SND", 0x14:"EV_REP", 0x15:"EV_FF", 0x16:"EV_PWR", 0x17:"EV_FF_STATUS", 0x1f:"EV_MAX" } def main(): allmask = 0 for k, v in ev_list.items(): allmask = allmask | (1 << k) print("Please input, hexadecimal or 'exit'") while True: s = input("EV=") if s == "" or s == "bye" or s == "quit" or s == "exit": break val = int(s, 16) result = " -> " for k, v in ev_list.items(): # print("0x%02x : %s" % (k, v)) mask = 1 << k if (val & mask) != 0: result = result + v + " " print(result) if (val & ~allmask) != 0: v = val & ~allmask print("Unknown : 0x%x" % v) print() if __name__ == '__main__': main()
動作させると以下のような感じになる。EV値(16進数)を打ち込むとフラグ内容を表示してくれる。exit と打ち込むと終了。
> python evdump.py Please input, hexadecimal or 'exit' EV=120013 -> EV_SYN EV_KEY EV_MSC EV_LED EV_REP EV=17 -> EV_SYN EV_KEY EV_REL EV_MSC EV=1f -> EV_SYN EV_KEY EV_REL EV_ABS EV_MSC EV=
ちなみに、lsinput の出力結果と照らし合わせてみたけど、結果は一致した。処理は合ってるっぽい。というか、Raspberry Pi OS上では lsinput を使ったほうが楽。
ところで、lsinput を、PC + Ubuntu Linux 20.04 LTS で動作させたら、フラグ文字列が全部「(null)」になってしまった。何故? Raspberry Pi OS buster 上で lsinput を動かすと、ちゃんと表示されているのだけど…。
◎ 2021/02/28追記。 :
Ubuntu Linux 20.04 LTS + lsinput が「(null)」を表示する件。ビルドし直せば治るらしい…?
_Why is "bits ev" of mouse input device null? - Unix & Linux Stack Exchange
ビルドして、/usr/local/bin/ 以下に lsinput だけ置いてみた。これならそれらしく表示された。ただ、以前の版とは表示フォーマットが随分違うようだけど…。
_Why is "bits ev" of mouse input device null? - Unix & Linux Stack Exchange
$ wget https://www.kraxel.org/releases/input/input-1.3.tar.gz $ tar xf input-1.3.tar.gz $ cd input-1.3 $ make $ ./lsinput -v
ビルドして、/usr/local/bin/ 以下に lsinput だけ置いてみた。これならそれらしく表示された。ただ、以前の版とは表示フォーマットが随分違うようだけど…。
[ ツッコむ ]
2020/02/27(木) [n年前の日記]
#1 [nitijyou] 犬が餌を食べてくれない
飼い犬の体調が悪い件。昨日は水だけを与えて、今日からはドッグフードを ―― 病院から購入した缶入りのドッグフードを食べさせてもよい、という話だったけど。犬がドッグフードを食べてくれない…。薬を飲ませるためにも、食べてくれないと困るのだけど。
まだ食べられるだけの体調が戻ってきていないということだろうか。それとも、普段は食べてないソレだから、不安に感じて口にできないのだろうか…。鼻先でクンクンして「なんやコレ。こんなん怖いから食えんわ」的態度をとっているようにも見える…。
まだ食べられるだけの体調が戻ってきていないということだろうか。それとも、普段は食べてないソレだから、不安に感じて口にできないのだろうか…。鼻先でクンクンして「なんやコレ。こんなん怖いから食えんわ」的態度をとっているようにも見える…。
[ ツッコむ ]
2019/02/27(水) [n年前の日記]
#1 [nitijyou] 朝から頭痛
朝から頭痛。頭の右上のあたりが時々ふっと痛くなる。寝れば治るかなと思ったけれど、夜中まで改善せず。何だろうな…。
[ ツッコむ ]
2018/02/27(火) [n年前の日記]
#1 [ruby] FXRubyを勉強中
RubyでGUIアプリが作れる、FXRubyというライブラリについて勉強中。環境は、Window10 x64 + Ruby 2.2.6 p396 mingw32 + fxruby 1.6.39 x86-mingw32。
全然関係ないけど、FXRuby の公式サイトが消滅してるような…?
全然関係ないけど、FXRuby の公式サイトが消滅してるような…?
◎ ハローワールド。 :
まずは、Hello World。
_hellofxruby.rb
実行すると以下のようなウインドウが開く。
ボタンをクリックするとダイアログが表示される。
_hellofxruby.rb
require "fox16" include Fox class MyHello < FXMainWindow def initialize(app, title = "Hello World FXRuby") # main is window class mw = super(app, title, :width => 320, :height => 240) # create layout pack = FXPacker.new(mw) # create label lbl = FXLabel.new(pack, "Hello World !") # create button btn = FXButton.new(pack, "Click !") # set button push event btn.connect(SEL_COMMAND) do |sender, sel, data| # show message box msg = FXMessageBox.new(btn, "Message", "Hello World in FXRuby", :opts => MBOX_OK) msg.execute end end def create super show(PLACEMENT_SCREEN) end end if __FILE__ == $0 FXApp.new do |app| mw = MyHello.new(app) app.create app.run end end
実行すると以下のようなウインドウが開く。
ボタンをクリックするとダイアログが表示される。
◎ 少し解説。 :
FXRuby を使うときは、最初のあたりに、以下の行を書く。
FXMainWindow というクラスが、おそらくはメインウインドウを担当するクラスなのだろう…。継承して、自分用のクラスを作成して、それを使うのが一般的っぽい。
クラスを作ったら、以下のようにして呼び出す…のかな。
メインウインドウに登録できる部品は色々ある。例えば、以下のような感じ。
ただ、各部品をメインウインドウにそのまま登録していくと、縦にずらずら並んでいってしまう。部品のレイアウトには FXPacker を使うらしい…が、それについては後述。
ボタンを押したら何か処理をさせたい、てな場合は、以下のように書けば設定できる模様。
require "fox16" include Fox
FXMainWindow というクラスが、おそらくはメインウインドウを担当するクラスなのだろう…。継承して、自分用のクラスを作成して、それを使うのが一般的っぽい。
class MyMainWindow < FXMainWindow def initialize(app, title = "Hello World FXRuby") mw = super(app, title, :width => 320, :height => 240) # 部品を生成したりイベントを設定したり色々初期化 end def create super show(PLACEMENT_SCREEN) end end
クラスを作ったら、以下のようにして呼び出す…のかな。
FXApp.new do |app| mw = MyMainWindow.new(app) app.create app.run end
メインウインドウに登録できる部品は色々ある。例えば、以下のような感じ。
- FXLabel ... ラベル。文字列を表示できる
- FXButton ... ボタン
- FXTextField ... テキストフィールド。入力欄。
ただ、各部品をメインウインドウにそのまま登録していくと、縦にずらずら並んでいってしまう。部品のレイアウトには FXPacker を使うらしい…が、それについては後述。
ボタンを押したら何か処理をさせたい、てな場合は、以下のように書けば設定できる模様。
btn = FXButton.new(pack, "Click !") btn.connect(SEL_COMMAND) do |sender, sel, data| # show message box msg = FXMessageBox.new(btn, "Message", "Hello World in FXRuby", :opts => MBOX_OK) msg.execute endまだ意味は分かってないけど、とにかくこう書いとけば動くらしい…。ちなみに、上記の例では、ボタンを押すとメッセージボックスが表示される。
◎ 少し複雑なレイアウトをしてみる。 :
各部品を、横方向に並べたり等、それなりにレイアウトしたい。
部品のレイアウトには FXPacker、FXHorizontalFrame、FXVerticalFrame を使う。
ということで、試してみた。
_fileselect_sample.rb
それらしくレイアウトできた。
部品のレイアウトには FXPacker、FXHorizontalFrame、FXVerticalFrame を使う。
- まずは FXPacker をメインウインドウに登録。
- その FXPacker に、FXHorizontalFrame (部品を横並びにしてくれる) や FXVerticalFrame (部品を縦並びにしてくれる) 等のフレームを登録。
- それらフレームに、各部品を登録。
ということで、試してみた。
_fileselect_sample.rb
require "fox16" include Fox class MyMainWindow < FXMainWindow def initialize(app, title = "Generate Tilemap collision data") # main is window class # mw = super(app, title, :width => 480, :height => 360) mw = super(app, title) # create layout # pack = FXPacker.new(mw, :opts => LAYOUT_FILL) pack = FXPacker.new(mw) @frms = [] tbls = [ { :label => "Source Tiled JSON", :type => 0, :len => 50 }, { :label => "Source PNG Image", :type => 0, :len => 50 }, { :label => "Collision layer name", :type => 1, :len => 20 }, { :label => "layer name (overwrite)", :type => 1, :len => 20 }, { :label => "Null code", :type => 1, :len => 5 }, { :label => "Output JSON", :type => 0, :len => 50 }, ] tbls.each_with_index do |dt, i| s = dt[:label] kind = dt[:type] l = dt[:len] # create frame frm = FXHorizontalFrame.new( pack, # :opts => LAYOUT_SIDE_LEFT|LAYOUT_SIDE_TOP|LAYOUT_FIX_WIDTH, #:padLeft=>0,:padRight=>0,:padTop=>0,:padBottom=>0, # :width=>300 ) # create label FXLabel.new(frm, s) # create textfield tf = FXTextField.new(frm, l) case kind when 0 # create button btn = FXButton.new(frm, "...") # set button event btn.connect(SEL_COMMAND) do |sender, sel, data| # show File dialog dialog = FXFileDialog.new(self, "Select file.") dialog.patternList = [ "All Files (*)", "JSON (*.json)", "PNG Image (*.png)", ] dialog.selectMode = SELECTFILE_ANY if dialog.execute != 0 tf.text = dialog.filename end end @frms.push( { :type => kind, :textfield => tf, :button => btn } ) when 1 @frms.push( {:type => kind, :textfield => tf } ) end end @frms[2][:textfield].text = "layer0" @frms[4][:textfield].text = "0" frm = FXHorizontalFrame.new( pack, :opts => LAYOUT_SIDE_RIGHT|LAYOUT_SIDE_TOP, :width => 300, ) sx, sy = 32, 8 btn = FXButton.new(frm, "Check", :padLeft => sx, :padRight => sx, :padTop => sy, :padBottom => sy) btn.connect(SEL_COMMAND) do |sender, sel, data| # dump input string jsonfile = @frms[0][:textfield].text pngfile = @frms[1][:textfield].text layername = @frms[2][:textfield].text layername_s = @frms[3][:textfield].text nullcode = @frms[4][:textfield].text.to_i outfile = @frms[5][:textfield] s = [ "json file : #{jsonfile}", "png file : #{pngfile}", "layer name : #{layername}", "layer name sub : #{layername_s}", "null code : #{nullcode}", "output file : #{outfile}", ].join("\n") msgBox = FXMessageBox.new(btn, "Result", s, :opts => MBOX_OK) msgBox.execute end end def create super show(PLACEMENT_SCREEN) end end if __FILE__ == $0 FXApp.new do |app| mw = MyMainWindow.new(app) app.create # mw.show(PLACEMENT_SCREEN) app.run end end
それらしくレイアウトできた。
◎ ファイル選択ダイアログについて。 :
上記ソースは、ボタンを押すと、ファイル選択ダイアログボックスを表示するようになっている。呼び出してる部分は以下。
FXFileDialog がソレ。拡張子のリストを作成して .patternList に設定したり、選択モードを .selectMode に設定したりしている。
dialog.execute を呼ぶとダイアログが表示されて、選択されたファイルの数が返ってくるのだろう…。0が返ってきたら、何も選択していないか、キャンセルされた、ということではないかと。
.selectMode には、 _Class: Fox::FXFileSelector からすると、以下が指定できる模様。
余談。FXRuby のファイル選択ダイアログを使うと、以下のようなダイアログが表示されるのだけど。
普段見ているダイアログとは、見た目がちょっと違う。
FXRuby が使っている FOX Toolkit は、OSのネイティブのGUI部品やダイアログを使わずに、それぞれを独自実装しているらしいので、こういった部分で違いが出てくるのだろう…。逆に考えると、Windows でも Linux でも似たような見た目になってくれる…はず。
# show File dialog dialog = FXFileDialog.new(self, "Select file.") dialog.patternList = [ "All Files (*)", "JSON (*.json)", "PNG Image (*.png)", ] dialog.selectMode = SELECTFILE_ANY if dialog.execute != 0 tf.text = dialog.filename end
FXFileDialog がソレ。拡張子のリストを作成して .patternList に設定したり、選択モードを .selectMode に設定したりしている。
dialog.execute を呼ぶとダイアログが表示されて、選択されたファイルの数が返ってくるのだろう…。0が返ってきたら、何も選択していないか、キャンセルされた、ということではないかと。
.selectMode には、 _Class: Fox::FXFileSelector からすると、以下が指定できる模様。
- SELECTFILE_ANY ... 1ファイルを選択。もしくはファイル名を指定。ファイルセーブ時に使える。
- SELECTFILE_EXISTING ... 既に存在する1ファイルを選択。ファイルロード時に使える。
- SELECTFILE_MULTIPLE ... 既に存在する複数ファイルを選択。
- SELECTFILE_MULTIPLE_ALL ... 既に存在する複数ファイル、または複数ディレクトリを選択。
- SELECTFILE_DIRECTORY ... 既に存在するディレクトリを選択。
余談。FXRuby のファイル選択ダイアログを使うと、以下のようなダイアログが表示されるのだけど。
普段見ているダイアログとは、見た目がちょっと違う。
FXRuby が使っている FOX Toolkit は、OSのネイティブのGUI部品やダイアログを使わずに、それぞれを独自実装しているらしいので、こういった部分で違いが出てくるのだろう…。逆に考えると、Windows でも Linux でも似たような見た目になってくれる…はず。
◎ ドラッグアンドドロップはどうやるのだろう。 :
エクスプローラ等でファイルを選択して、FXRuby で表示したウインドウにドラッグアンドドロップ(Drag and drop, DND, D&D)することでファイルのパスを取得する、といった処理をしたい。しかし、そんなことできるのだろうか…。*NIX上ではできるけど、Windows上ではできないよ、という話を以前見かけたけれど…。
以下で紹介されてるサンプルを、Windows上で動かしてみた。
_Drag and Drop in Windows with Explorer - Ruby
残念ながら、D&Dしてもマウスカーソルは×マークのままだった。
コレ、Linux上なら動くのかな…? どうなんだろう…?
以下で紹介されてるサンプルを、Windows上で動かしてみた。
_Drag and Drop in Windows with Explorer - Ruby
残念ながら、D&Dしてもマウスカーソルは×マークのままだった。
コレ、Linux上なら動くのかな…? どうなんだろう…?
◎ Ubuntu16.04上でFXRubyのインストールと動作確認。 :
FXRuby を使ったソースが、VMware + Ubuntu 16.04 LTS上でも動作するのか確認してみたい。
Ubuntu上での FXRuby インストール手順を調べたが、パッケージをいくつかインストール後、FOX Toolkit の現行版をDL・ビルドして、最後に sudo gem instal fxruby をしないといかんらしい。
gem install fxruby だけで動いてしまうWindows版と比べると、導入が面倒なのだな…。
必要になるらしいパッケージを apt でインストール。
FOX Toolkit の現行版をDL・ビルド・インストール。
Rubyをインストール。sudo apt install ruby だけでは済まなくて、ruby-full をインストールしないといけない。ruby-full を入れると、Rubyのライブラリをビルドできるようになる模様。
fxruby がビルドされた。ちなみに、何故かドキュメントの生成で異様に時間がかかったので、--no-ri --no-rdoc をつけてドキュメントの生成はスキップさせた。
irb を起動して、require 'fox16' と打ってエラーが出なければ、インストールはできている。
さておき、前述の、 _FXRubyを使ったドラッグアンドドロップのサンプル を、Ubuntu 16.04上で動かしてみたところ、ファイラーからファイルをD&Dすることでファイル群のパスが取得できた。
つまり、*NIX + FXRuby ならドラッグアンドドロップが働くけど、Windows上では働かない模様。不便だ…。
Ubuntu上での FXRuby インストール手順を調べたが、パッケージをいくつかインストール後、FOX Toolkit の現行版をDL・ビルドして、最後に sudo gem instal fxruby をしないといかんらしい。
gem install fxruby だけで動いてしまうWindows版と比べると、導入が面倒なのだな…。
必要になるらしいパッケージを apt でインストール。
sudo apt install g++ sudo apt install libfox-1.6-dev lxrandr libxext-dev libgl1-mesa-dev libglademm-2.4-dev freeglut3-dev libglew1.5-dev
FOX Toolkit の現行版をDL・ビルド・インストール。
mkdir ~/package cd ~/package wget ftp://ftp.fox-toolkit.org/pub/fox-1.6.56.tar.gz tar xvzf fox-1.6.56.tar.gz cd fox-1.6.56 ./configure make sudo make install
Rubyをインストール。sudo apt install ruby だけでは済まなくて、ruby-full をインストールしないといけない。ruby-full を入れると、Rubyのライブラリをビルドできるようになる模様。
sudo apt install ruby-full sudo gem install fxruby --no-ti --no-rdoc
fxruby がビルドされた。ちなみに、何故かドキュメントの生成で異様に時間がかかったので、--no-ri --no-rdoc をつけてドキュメントの生成はスキップさせた。
irb を起動して、require 'fox16' と打ってエラーが出なければ、インストールはできている。
さておき、前述の、 _FXRubyを使ったドラッグアンドドロップのサンプル を、Ubuntu 16.04上で動かしてみたところ、ファイラーからファイルをD&Dすることでファイル群のパスが取得できた。
つまり、*NIX + FXRuby ならドラッグアンドドロップが働くけど、Windows上では働かない模様。不便だ…。
◎ 参考ページ。 :
[ ツッコむ ]
#2 [ruby] Ruby-GNOME2を試用
Window + FXRuby ではファイルのドラッグアンドドロップが働かないと分かったので、別のGUIライブラリならどうかなと。例えば Ruby/GTK2 だか Ruby-GNOME2 ならどうだろうと。
このライブラリ、正式名称が分からんのだけど…。公式サイトでは「Ruby-GNOME2」と書いてあるから、それが正しいのだろうか?
_Ruby-GNOME2 Project Website - Ruby-GNOME2 Project Website
このライブラリ、正式名称が分からんのだけど…。公式サイトでは「Ruby-GNOME2」と書いてあるから、それが正しいのだろうか?
_Ruby-GNOME2 Project Website - Ruby-GNOME2 Project Website
◎ インストール。 :
Windows10 x64 + Ruby 2.3.3 p222 mingw32版でインストールしてみた。
動作には、以下も必要らしい。自動でインストールしてくれる。
gem install gtk2
> gem install gtk2 Fetching: pkg-config-1.2.9.gem (100%) Successfully installed pkg-config-1.2.9 Fetching: native-package-installer-1.0.6.gem (100%) Successfully installed native-package-installer-1.0.6 Fetching: cairo-1.15.11-x86-mingw32.gem (100%) Successfully installed cairo-1.15.11-x86-mingw32 Fetching: glib2-3.2.1-x86-mingw32.gem (100%) Successfully installed glib2-3.2.1-x86-mingw32 Fetching: atk-3.2.1-x86-mingw32.gem (100%) Successfully installed atk-3.2.1-x86-mingw32 Fetching: cairo-gobject-3.2.1-x86-mingw32.gem (100%) Successfully installed cairo-gobject-3.2.1-x86-mingw32 Fetching: gobject-introspection-3.2.1-x86-mingw32.gem (100%) Successfully installed gobject-introspection-3.2.1-x86-mingw32 Fetching: pango-3.2.1-x86-mingw32.gem (100%) Successfully installed pango-3.2.1-x86-mingw32 Fetching: gio2-3.2.1-x86-mingw32.gem (100%) Successfully installed gio2-3.2.1-x86-mingw32 Fetching: gdk_pixbuf2-3.2.1-x86-mingw32.gem (100%) Successfully installed gdk_pixbuf2-3.2.1-x86-mingw32 Fetching: gtk2-3.2.1-x86-mingw32.gem (100%) Successfully installed gtk2-3.2.1-x86-mingw32 Parsing documentation for pkg-config-1.2.9 Installing ri documentation for pkg-config-1.2.9 Parsing documentation for native-package-installer-1.0.6 Installing ri documentation for native-package-installer-1.0.6 Parsing documentation for cairo-1.15.11-x86-mingw32 Installing ri documentation for cairo-1.15.11-x86-mingw32 Parsing documentation for glib2-3.2.1-x86-mingw32 Installing ri documentation for glib2-3.2.1-x86-mingw32 Parsing documentation for atk-3.2.1-x86-mingw32 Installing ri documentation for atk-3.2.1-x86-mingw32 Parsing documentation for cairo-gobject-3.2.1-x86-mingw32 Installing ri documentation for cairo-gobject-3.2.1-x86-mingw32 Parsing documentation for gobject-introspection-3.2.1-x86-mingw32 Installing ri documentation for gobject-introspection-3.2.1-x86-mingw32 Parsing documentation for pango-3.2.1-x86-mingw32 Installing ri documentation for pango-3.2.1-x86-mingw32 Parsing documentation for gio2-3.2.1-x86-mingw32 Installing ri documentation for gio2-3.2.1-x86-mingw32 Parsing documentation for gdk_pixbuf2-3.2.1-x86-mingw32 Installing ri documentation for gdk_pixbuf2-3.2.1-x86-mingw32 Parsing documentation for gtk2-3.2.1-x86-mingw32 Installing ri documentation for gtk2-3.2.1-x86-mingw32 Done installing documentation for pkg-config, native-package-installer, cairo, glib2, atk, cairo-gobject, gobject-introspection, pango, gio2, gdk_pixbuf2, gtk2 after 11 seconds 11 gems installedgtk2 3.2.1 x86-mingw32 がインストールされた。
動作には、以下も必要らしい。自動でインストールしてくれる。
- pkg-config
- native-package-installer
- cairo
- glib2
- atk
- cairo-gobject
- gobject-introspection
- pango
- gio2
- gdk_pixbuf2
◎ ファイルのドラッグアンドドロップ。 :
以下の記事で、ドラッグアンドドロップを使った事例が紹介されてる。
_Ruby Window Drop: いち雑記
ソースをコピペして、Windows10 x64 + Ruby 2.3.3 p222 mingw32 上で動作確認。エクスプローラから、ウインドウにD&Dしたところ…ファイルのパスが表示された。素晴らしい。
つまり、Ruby-GNOME2 なら、Windows上でもファイルのD&Dでファイルパスを取得できるようだなと。
FXRuby と比べると、ウインドウが表示されるまで結構待たされる印象を受けたけど。しかし、その分、高機能、ということになるのだろう…。たぶん。
_Ruby Window Drop: いち雑記
ソースをコピペして、Windows10 x64 + Ruby 2.3.3 p222 mingw32 上で動作確認。エクスプローラから、ウインドウにD&Dしたところ…ファイルのパスが表示された。素晴らしい。
つまり、Ruby-GNOME2 なら、Windows上でもファイルのD&Dでファイルパスを取得できるようだなと。
FXRuby と比べると、ウインドウが表示されるまで結構待たされる印象を受けたけど。しかし、その分、高機能、ということになるのだろう…。たぶん。
[ ツッコむ ]
2017/02/27(月) [n年前の日記]
#1 [autohotkey] AutoHotkeyをまだ勉強中
AutoHotkeyでマウスボタンの状態やキー入力を表示できないか動作確認中。
ホイール回転を検出する方法は、以下のやり取りが参考になった。
_getkeystate wheel (Getkeystate not wheely good!) - Ask for Help - AutoHotkey Community
全然関係ないけど、何故か上記サイトにアクセスすると、「俺はロボットじゃないよ」の確認を求められる…。しかも表示が結構遅い。サーバが非力なのか回線が細いのか。 *1
ホイール回転を検出する方法は、以下のやり取りが参考になった。
_getkeystate wheel (Getkeystate not wheely good!) - Ask for Help - AutoHotkey Community
全然関係ないけど、何故か上記サイトにアクセスすると、「俺はロボットじゃないよ」の確認を求められる…。しかも表示が結構遅い。サーバが非力なのか回線が細いのか。 *1
◎ If文の書き方がよく分からず。 :
AutoHotkeyは、スクリプトの書き方がどうも分かりづらい…。If 変数<>変数、でいいのか、それとも If 変数<>%変数% と書くべきなのか、そんなしょーもないところで頻繁にハマったり。
; variable compare a := 1 b := 1 ; OK If a=%b% MsgBox, %a% = %b% ;=> 1 = 1 Else MsgBox, %a% <> %b% ; NG If a=b MsgBox, %a% = %b% Else MsgBox, %a% <> %b% ;=> 1 <> 1 ; ---------------------------------------- c := Object("Apple", 0, "Ball", 0, "Cat", 0) d := Object("Apple", 0, "Ball", 0, "Cat", 0) k := 2 ; NG : Error ; If c[k]=%d[k]% ; MsgBox % c[k] . "=" . d[k] ; Else ; MsgBox % c[k] . "<>" . d[k] ; OK, but ... If c[k]=d[k] MsgBox, c[k] = d[k] ;=> c[k] = d[k] Else MsgBox, c[k] <> d[k]わからん…。Object() が絡んでくるとますますわからん…。
◎ コンソール出力は無いのだろうか。 :
一々、MsgBox で printfデバッグをするのが面倒。コンソール出力だの標準出力だのにメッセージを出せたりしないのだろうか。
*1: いやまあ、この日記ページもたぶん表示が遅いからアレなんだけど。
[ ツッコむ ]
2016/02/27(土) [n年前の日記]
#1 [pc] LibreOfficeのオカルト現象に遭遇
親父さんから、LibreOffice Calc の操作について質問があって。環境は Windows10 + LibreOffice 5.1.0。
LibreOffice Calc のツールバー上の保存ボタンは以下のような仕様になっていて。
ところが、親父さんが保存ボタンをクリックすると、星マークがついてるから上書き保存になるはずが、必ず「名前を付けて保存」メニューが表示されてしまう。これでは上書き保存できないではないか…。や、ファイル → 保存、とか、Ctrl+Sを叩けば一応保存はできるけど…。
代わりに自分がマウス操作をしてみたら、フツーに上書き保存されてしまった。しかし親父さんがマウス操作すると、やっぱりメニューが表示される。おかしい。なんでや。5〜6分ほど、双方で交互に操作して確認してみたけれど、どうにも原因が掴めない。
とにかく、親父さんがマウスの左ボタンを押すと、その時だけ何故か本来の動作にならない。一体何が起きてるのか。わけがわからない…。これではオカルトではないか…。
LibreOffice Calc のツールバー上の保存ボタンは以下のような仕様になっていて。
- ファイル内容を変更すると、ツールバー上の保存ボタンに星マークが付いて、「このファイルは編集後に保存をしていませんよ」と知らせてくれる。
- 星マークがついた保存ボタンをマウスで左クリックすれば、上書き保存される。
- 保存ボタンの右側の小さい三角(ドロップダウンボタン、プルダウンボタン、アローボタンと呼ぶらしい)をクリックすると「名前を付けて保存」等のメニューが表示される。
ところが、親父さんが保存ボタンをクリックすると、星マークがついてるから上書き保存になるはずが、必ず「名前を付けて保存」メニューが表示されてしまう。これでは上書き保存できないではないか…。や、ファイル → 保存、とか、Ctrl+Sを叩けば一応保存はできるけど…。
代わりに自分がマウス操作をしてみたら、フツーに上書き保存されてしまった。しかし親父さんがマウス操作すると、やっぱりメニューが表示される。おかしい。なんでや。5〜6分ほど、双方で交互に操作して確認してみたけれど、どうにも原因が掴めない。
- 親父さんが、マウス左クリックをするつもりで右クリックをしているのではないかと疑ったが、右クリックすると全然違うメニューが表示されるので、たしかに親父さんは左クリックをしている模様。
- 親父さんが、保存ボタンではなく右側の小さい三角をうっかりクリックしてるのではと疑ったが、自分がマウスカーソルを移動させて、クリックだけ親父さんにさせてみても同じ状態になる。また、親父さんにマウスカーソルを移動してもらって、クリックだけを自分がしてみると、ちゃんと上書き保存になる。
とにかく、親父さんがマウスの左ボタンを押すと、その時だけ何故か本来の動作にならない。一体何が起きてるのか。わけがわからない…。これではオカルトではないか…。
◎ 原因判明。 :
何かの拍子に、気が付いた。LibreOfficeのツールバー上のボタン ―― 右側に小さい三角がついていてメニュー表示が可能なボタンは、マウスの左ボタンを長押しするとメニューが表示される、という仕様が入っていた模様。
つまり、自分がクリックしたときはクリックとして認識されていたけれど、親父さんがクリックしたときはマウスボタンを押してる時間が違うので、長押しされてると判定されてメニューが表示されていた、というオチだった…。
そんなにも親父さんはマウスボタンを押してる時間が長いのか、と思いきや、そういうわけではなさそうで。親父さんの操作をしばらく観察したけど、どう見てもクリックだろコレと思える押し時間としか…。
自分も何度か試してみたけど、ちょっとこれは長押し判定時間が短過ぎる気がしたり。
これはLibreOfficeの仕様バグじゃないかなあ…。ツールバー上のボタンってそんなに高速連打するものじゃないだろう。こんな判定時間にする理由が分からん。まるでアクションゲーか格ゲーの判定時間だ…。
どうしてもこういう仕様にしたいなら、せめてどこかに、何msで長押しと認識させるのか、設定項目ぐらいは用意しておかないと…。
あるいは、独立した「上書き保存ボタン」をツールバー上に表示・カスタマイズ可能にするとか。現状では、右側に小さな三角がついた保存ボタンしか存在しない・上書き保存のみを割り当てたボタンが無いので、カスタマイズしてトラブルを回避することもできないわけで。
つまり、自分がクリックしたときはクリックとして認識されていたけれど、親父さんがクリックしたときはマウスボタンを押してる時間が違うので、長押しされてると判定されてメニューが表示されていた、というオチだった…。
そんなにも親父さんはマウスボタンを押してる時間が長いのか、と思いきや、そういうわけではなさそうで。親父さんの操作をしばらく観察したけど、どう見てもクリックだろコレと思える押し時間としか…。
自分も何度か試してみたけど、ちょっとこれは長押し判定時間が短過ぎる気がしたり。
これはLibreOfficeの仕様バグじゃないかなあ…。ツールバー上のボタンってそんなに高速連打するものじゃないだろう。こんな判定時間にする理由が分からん。まるでアクションゲーか格ゲーの判定時間だ…。
どうしてもこういう仕様にしたいなら、せめてどこかに、何msで長押しと認識させるのか、設定項目ぐらいは用意しておかないと…。
あるいは、独立した「上書き保存ボタン」をツールバー上に表示・カスタマイズ可能にするとか。現状では、右側に小さな三角がついた保存ボタンしか存在しない・上書き保存のみを割り当てたボタンが無いので、カスタマイズしてトラブルを回避することもできないわけで。
◎ 長押しするとメニュー表示になる仕様について。 :
ひょっとして Microsoft Office も、ツールバー上のボタンを長押しするとメニューが表示されるのかな。LibreOffice はソレを真似したのだろうか。
疑問が湧いたので Excel 2007 で試してみたけど、別にそんな仕様は入ってないな…。ボタンと、その横の三角ボタンは、独立して動作してる。ボタンが、三角ボタンの機能まで勝手に兼ねたりはしない。それとも今時の Office なら、長押しでメニューが表示されるのだろうか。
それでなくても今時のGUIは、スマホの普及で「ワンタッチ」=「1機能の呼び出し」になってるのに…。1つのボタンに、現在状態、もしくは押し時間に応じて別機能を割り当てるのはおかしいだろう…。ユーザが混乱するだろ…。
と思ったけど、スマホも押してる時間で呼び出される機能が変わる時があるか。ソレを安易に真似したということなのかな。
個人的に、押し時間で機能が変わる仕様は混乱の元だと思ってるんだけど、どうなんだろ。実際こうして、「これどうなってるんだ? 動かないんだけど?」と質問されて、PC廃人の自分ですら原因が分かるまで手を焼いたわけで…。しかも解決策が、「『カチッ』じゃなくて、『カッ!』って感じでボタンを押すことを心掛けて」とお願いする以外にないとか…アホ過ぎる…。
アクションゲームや格ゲーだって、それこそ「溜めて、離す」等の操作を要求されるけど。それはユーザにとってハードルになっていて、操作を習得できた時の達成感を得られるから、あえてそういう仕様を盛り込んでたりするわけですよ。…Officeソフトにゲームの操作感覚を盛り込んでどうすんだ。ハードルを高くしてる自覚があるのか。「やった! 上書きボタンが上書きボタンとして機能するタイミングを掴んだぞ!」とユーザを喜ばせたいとでも思ってんのかと。そういうのはゲームでやれよゲームで。と、思うわけですよ。
「こういう仕様を入れたら便利になるんじゃないか」と作業効率の改善を期待して入れたであろうことは分るけど…。この仕様はちょっと失敗だったよなと…。
疑問が湧いたので Excel 2007 で試してみたけど、別にそんな仕様は入ってないな…。ボタンと、その横の三角ボタンは、独立して動作してる。ボタンが、三角ボタンの機能まで勝手に兼ねたりはしない。それとも今時の Office なら、長押しでメニューが表示されるのだろうか。
それでなくても今時のGUIは、スマホの普及で「ワンタッチ」=「1機能の呼び出し」になってるのに…。1つのボタンに、現在状態、もしくは押し時間に応じて別機能を割り当てるのはおかしいだろう…。ユーザが混乱するだろ…。
と思ったけど、スマホも押してる時間で呼び出される機能が変わる時があるか。ソレを安易に真似したということなのかな。
個人的に、押し時間で機能が変わる仕様は混乱の元だと思ってるんだけど、どうなんだろ。実際こうして、「これどうなってるんだ? 動かないんだけど?」と質問されて、PC廃人の自分ですら原因が分かるまで手を焼いたわけで…。しかも解決策が、「『カチッ』じゃなくて、『カッ!』って感じでボタンを押すことを心掛けて」とお願いする以外にないとか…アホ過ぎる…。
アクションゲームや格ゲーだって、それこそ「溜めて、離す」等の操作を要求されるけど。それはユーザにとってハードルになっていて、操作を習得できた時の達成感を得られるから、あえてそういう仕様を盛り込んでたりするわけですよ。…Officeソフトにゲームの操作感覚を盛り込んでどうすんだ。ハードルを高くしてる自覚があるのか。「やった! 上書きボタンが上書きボタンとして機能するタイミングを掴んだぞ!」とユーザを喜ばせたいとでも思ってんのかと。そういうのはゲームでやれよゲームで。と、思うわけですよ。
「こういう仕様を入れたら便利になるんじゃないか」と作業効率の改善を期待して入れたであろうことは分るけど…。この仕様はちょっと失敗だったよなと…。
[ ツッコむ ]
#2 [gimp] GIMPのパターンファイルを整理
GIMPのパターンファイルをググってDLして追加してたら、とんでもなく起動が遅くなってしまったので、少しでも減らそうと、ユーザフォルダ\.gimp-2.?\patterns\ フォルダの中身を整理。
GIMP上の表示一覧を使って整理していくのは大変なので、 _XnView を使って一覧表示して、フォルダを作ってまとめたり削除等をしてみたり。GIMP関連ファイルに対応してるビューワって少ないけれど、XnView はGIMP関連ファイルにも対応してるほうなのでありがたいです。
それにしても、GIMPのパターンファイルを眺めていると、似たような感じのパターンが結構あるような気がしてくるわけで。フィルタだかスクリプトだかでその都度生成できるほうが良さそうな気も。縞々模様やタータン模様はその都度生成できそうな。と思ったけど、GIMPの場合はプレビューできないのがネックになりそうな…。
GIMP上の表示一覧を使って整理していくのは大変なので、 _XnView を使って一覧表示して、フォルダを作ってまとめたり削除等をしてみたり。GIMP関連ファイルに対応してるビューワって少ないけれど、XnView はGIMP関連ファイルにも対応してるほうなのでありがたいです。
それにしても、GIMPのパターンファイルを眺めていると、似たような感じのパターンが結構あるような気がしてくるわけで。フィルタだかスクリプトだかでその都度生成できるほうが良さそうな気も。縞々模様やタータン模様はその都度生成できそうな。と思ったけど、GIMPの場合はプレビューできないのがネックになりそうな…。
[ ツッコむ ]
2015/02/27(金) [n年前の日記]
#1 [firefox] Firefox 36.0がガンガン落ちる
Google画像検索で、「画像を表示」をクリックするだけで落ちる。環境は Windows7 x64。
_SlightlyEnhancedViewImage というアドオンが原因だった模様。該当アドオンの有効無効を切り替えて動作確認をしていたら、Firefoxの起動直後にすぐ落ちてしまう状態になって困った。セーフモードで起動して、件のアドオンを削除してどうにか復活。
Firefox をセーフモードで起動するには、FirefoxのアイコンをShiftキーを押しながらクリックして起動する。とメモ。
_SlightlyEnhancedViewImage というアドオンが原因だった模様。該当アドオンの有効無効を切り替えて動作確認をしていたら、Firefoxの起動直後にすぐ落ちてしまう状態になって困った。セーフモードで起動して、件のアドオンを削除してどうにか復活。
Firefox をセーフモードで起動するには、FirefoxのアイコンをShiftキーを押しながらクリックして起動する。とメモ。
[ ツッコむ ]
#2 [dxruby][cg_tools] 背景仮画像を作成し直し
仮画像とは言え、前々から角度がおかしいことが気になってたわけで。
昔のベルトスクロールアクションゲームの背景って45度の角度で傾いてるものと思い込んで仮画像を作成してたけど、後になってから、もうちょっと倒した角度で描かれてるものがほとんどだったことに気がついて。要するに、2ドット横に進んで1ドット下に、みたいな感じで。ということで、この際作り直そうと。
タイリングが可能な正方形のテクスチャを斜めにずらして背景画像に貼り付けようと思ったものの、GIMPのフィルタではそれらしいものが見当たらず。単に斜めにするだけなら剪断変形で済むのだけど、はみ出した部分については反対側から回り込んでほしいわけで。
やりたいことは、y座標が1つ進んだらx方向は n * y ドットシフト、かつ、画像幅内で回り込ませるだけ。なので、Python + PIL あたりでスクリプトを書いて済ませられそうな気もするのだけど。
誰かしらそういうフィルタ・プラグインを作ってるんじゃないか。と思って色々探してたら、Paint.NET の _Obliqueプラグイン の解説記事に遭遇。まさしくコレ。ありがたや。
GIMPのプラグイン or スクリプトでありそうな気もするのだけど、検索キーワードが思いつかず。Oblique で検索しても、テキストツール関係の記事が出てきてしまう。
昔のベルトスクロールアクションゲームの背景って45度の角度で傾いてるものと思い込んで仮画像を作成してたけど、後になってから、もうちょっと倒した角度で描かれてるものがほとんどだったことに気がついて。要するに、2ドット横に進んで1ドット下に、みたいな感じで。ということで、この際作り直そうと。
タイリングが可能な正方形のテクスチャを斜めにずらして背景画像に貼り付けようと思ったものの、GIMPのフィルタではそれらしいものが見当たらず。単に斜めにするだけなら剪断変形で済むのだけど、はみ出した部分については反対側から回り込んでほしいわけで。
やりたいことは、y座標が1つ進んだらx方向は n * y ドットシフト、かつ、画像幅内で回り込ませるだけ。なので、Python + PIL あたりでスクリプトを書いて済ませられそうな気もするのだけど。
誰かしらそういうフィルタ・プラグインを作ってるんじゃないか。と思って色々探してたら、Paint.NET の _Obliqueプラグイン の解説記事に遭遇。まさしくコレ。ありがたや。
GIMPのプラグイン or スクリプトでありそうな気もするのだけど、検索キーワードが思いつかず。Oblique で検索しても、テキストツール関係の記事が出てきてしまう。
◎ 久々にShadeを起動。 :
街灯っぽい画像が欲しいなと思ったので、久しぶりに Shade 12 を起動して、開いた線形状の回転体で街灯モドキを作成。
ただ、どう見ても3DCGソフトで作りました的な画像になってしまって、他の画像と合わないわけで…。12色程度に減色してから、あちこちにドットをポチポチ打って誤魔化したり。
ただ、どう見ても3DCGソフトで作りました的な画像になってしまって、他の画像と合わないわけで…。12色程度に減色してから、あちこちにドットをポチポチ打って誤魔化したり。
◎ Paint.NETのプラグインも色々あって面白そう。 :
_3D Object Plugin| プラグイン | Paint.NET不完全マニュアル
経由で
_Make cool abstracts - Creations - Paint.NET Forum
の作例を目にして、ヒットマークに使えないかなと。
[ ツッコむ ]
2014/02/27(木) [n年前の日記]
#1 [ruby] Windows上でjekyllをインストール
某サイトのデザインを変更したいという話が来たのだけど。せっかくだから、この際サイト作成に便利なツールを導入できないものかと思い始めて。ただ、そのサイトは、cgiが動かせないサーバ上で公開されてるので、静的html生成機能が無いと困るわけで。てなわけで、以前からちょっと気になってた、jekyll を試用してみようかなと。
jekyllは、サイト作成ツール。以下の特長がある。
てなわけで、Windows7 x64 + _Ruby 2.0.0 p451 mingw32版 + Python 2.6.6 の環境で、以下の記事を参考にしてインストールしてみたり。
_Windows で Jekyll 1.3 を動かすまでの手順 - てっく煮ブログ
_Jekyll で Windows の UTF-8 - me-mo
_Fixing 'cannot load such file -- yajl' Windows 7 64bit, Rails, Ruby 2+
_Windows環境にJekyll 1.4を導入する(自家用メモ) - なか日記
_ruby - Jekyll - Error Running 'Jekyll Serve' - Stack Overflow
_Windows環境にjekyllをインストール | サイト運営の私的メモ
jekyllと、jekyllが要求するモジュール(?)は、以下でインストールできる。
ただし、pygments.rb 0.5.1 以降はWindows上で動作しないらしいので、ダウングレードする。
UTF-8で書かれた文書を読み込ませるとエラーが出るときがあるらしいので、対策をする。Ruby 2.0.0インストールフォルダ\bin\jekyll.bat の2行目に、以下の一文を追加。
ただ、jekyllで作成したプロジェクトフォルダ(?)にファイルを置くことでも同様の指定できるらしくて。_plugins\utf-8.rb を作成して、以下の一行を記述。
pygments なる、Pythonモジュールをインストール。easy_install (setuptools?) が使える環境で以下を実行。
ここで一旦、テスト用のプロジェクトフォルダ? サイトの雛形? を作る。テキトーなフォルダを作って、そこをカレントフォルダにしてDOS窓を開いて、以下を入力。
動作確認する。
現時点では、yajl-ruby でエラーが出るようで。「yajlが見つからねえよ」とか「yajiがロードできねえよ」とか言われてしまう。色々試してみたけど、以下の指定でエラーが出なくなった。
また、現在の jekyll 最新版は 1.4.3 だけど。それだと以下のようなエラーが出てしまう。
Markdownパーサが誤動作する時もあるらしいので、パーサを kramdown に変更。デフォルトでは Maruku とやらを使うらしい。 *1
今度こそ、動作確認。
「Ctrl + C を押せばサーバは止まるよ」と言ってるので、Ctrl+Cを押してサーバを停止。
元文書は、_portsフォルダ以下に入っているらしい。*-welcome-to-jekyll.markdown というファイルが入ってたので、エディタで開いて日本語文字列を書いて utf8n で保存した。jekyll serve を実行して確認したら、ちゃんと日本語が表示された。
jekyllは、サイト作成ツール。以下の特長がある。
- 静的html生成ができる。(一般的なCMSの類は、動的生成 ―― cgiやDBが動かせるサーバ上で、ブラウザからアクセスされるたびにhtmlを生成するのだけど。そういうサーバが無くても、サイト公開ができる。)
- DB不要。
- Markdownという、人間にも分かりやすい記法で、各ページ(の元文書)を書ける。
- Rubyで動く。
- Windows上でも(一応)動作する。(この手のツールは、Linux上で動作させることが前提で作られてるので、Windowsでは動かせないツールも結構存在する。)
てなわけで、Windows7 x64 + _Ruby 2.0.0 p451 mingw32版 + Python 2.6.6 の環境で、以下の記事を参考にしてインストールしてみたり。
_Windows で Jekyll 1.3 を動かすまでの手順 - てっく煮ブログ
_Jekyll で Windows の UTF-8 - me-mo
_Fixing 'cannot load such file -- yajl' Windows 7 64bit, Rails, Ruby 2+
_Windows環境にJekyll 1.4を導入する(自家用メモ) - なか日記
_ruby - Jekyll - Error Running 'Jekyll Serve' - Stack Overflow
_Windows環境にjekyllをインストール | サイト運営の私的メモ
jekyllと、jekyllが要求するモジュール(?)は、以下でインストールできる。
gem install jekyll
ただし、pygments.rb 0.5.1 以降はWindows上で動作しないらしいので、ダウングレードする。
gem uninstall pygments.rb --version "=0.5.4" gem install pygments.rb --version "=0.5.0"
UTF-8で書かれた文書を読み込ませるとエラーが出るときがあるらしいので、対策をする。Ruby 2.0.0インストールフォルダ\bin\jekyll.bat の2行目に、以下の一文を追加。
set RUBYOPT=-EUTF-8「デフォルトの文字コードはUTF-8だよ」と指定しているらしい。
ただ、jekyllで作成したプロジェクトフォルダ(?)にファイルを置くことでも同様の指定できるらしくて。_plugins\utf-8.rb を作成して、以下の一行を記述。
Encoding.default_external = Encoding::UTF_8こちらの指定でも問題が無いなら、環境を汚さなくて済むのでグッド、かもしれず。
pygments なる、Pythonモジュールをインストール。easy_install (setuptools?) が使える環境で以下を実行。
easy_install pygments
ここで一旦、テスト用のプロジェクトフォルダ? サイトの雛形? を作る。テキトーなフォルダを作って、そこをカレントフォルダにしてDOS窓を開いて、以下を入力。
> jekyll new jekyll-test New jekyll site installed in C:/home/web/jk/jekyll-test. > cd jekyll-testこの例では、jekyll-test というプロジェクトフォルダを作成してる。中には色々なファイルが作成される。
動作確認する。
> jekyll serveしかし、エラーが出て動かないはず。
現時点では、yajl-ruby でエラーが出るようで。「yajlが見つからねえよ」とか「yajiがロードできねえよ」とか言われてしまう。色々試してみたけど、以下の指定でエラーが出なくなった。
gem install bundler gem uninstall yajl-ruby gem install yajl-ruby -v=1.1.0 --platform=ruby現時点では yajl-ruby の 1.2.0 が最新版らしいけど、それでは動いてくれなかった。また、1.1.0 x86-mingw32 版もダメ。-v=1.1.0 --platform=ruby じゃないと動作しないらしい。
また、現在の jekyll 最新版は 1.4.3 だけど。それだと以下のようなエラーが出てしまう。
C:\home\web\jk\jekyll-test>jekyll serve Configuration file: C:/home/web/jk/jekyll-test/_config.yml Source: C:/home/web/jk/jekyll-test Destination: C:/home/web/jk/jekyll-test/_site Generating... error: Invalid argument - C:/home/web/jk/jekyll-test/_site/C:. Use --trace to view backtrace1.4.2 なら動くらしいので、ダウングレードする。
gem uninstall jekyll gem install jekyll -v=1.4.2
Markdownパーサが誤動作する時もあるらしいので、パーサを kramdown に変更。デフォルトでは Maruku とやらを使うらしい。 *1
gem install kramdownjekyllプロジェクトフォルダ\_config.yml を編集。以下の一行を最後に追加。
markdown: kramdown
今度こそ、動作確認。
> jekyll serve Configuration file: C:/home/web/jk/jekyll-test/_config.yml Source: C:/home/web/jk/jekyll-test Destination: C:/home/web/jk/jekyll-test/_site Generating... done. Server address: http://0.0.0.0:4000 Server running... press ctrl-c to stop._http://localhost:4000/ をブラウザで開いて、それっぽいページが表示されたらOK。
「Ctrl + C を押せばサーバは止まるよ」と言ってるので、Ctrl+Cを押してサーバを停止。
元文書は、_portsフォルダ以下に入っているらしい。*-welcome-to-jekyll.markdown というファイルが入ってたので、エディタで開いて日本語文字列を書いて utf8n で保存した。jekyll serve を実行して確認したら、ちゃんと日本語が表示された。
◎ 勘違いしてたことに気付いた。 :
jekyll をインストールして動作確認して、そこでようやく気づいたのだけど。これって、blog用のツールやん…。あかんわ…。
今回は、「半年に1回ぐらいの頻度で商品が差し替わる、お店のサイト」みたいなものを作りたいわけで。blogを作りたいわけじゃない。これはちょっと違うジャンルのツールに手を出しちゃったなと。
もちろん、「俺はblogを作りたいのだ」って場合には、jkeyll はヨサゲな選択肢だろうと思えたり。Markdown記法で書けるし、静的html生成だからサーバを選ばないってのはグッドだなと。この手のツールがもっと増えてくれたらいいのに…。
今回は、「半年に1回ぐらいの頻度で商品が差し替わる、お店のサイト」みたいなものを作りたいわけで。blogを作りたいわけじゃない。これはちょっと違うジャンルのツールに手を出しちゃったなと。
もちろん、「俺はblogを作りたいのだ」って場合には、jkeyll はヨサゲな選択肢だろうと思えたり。Markdown記法で書けるし、静的html生成だからサーバを選ばないってのはグッドだなと。この手のツールがもっと増えてくれたらいいのに…。
*1: ちなみに、kramdown は、全部 Ruby で書かれてるので処理が遅い、という話も見かけたような…。その分、ちゃんと処理が行われる、ということなのかな?
[ ツッコむ ]
#2 [pc] Markdownについてぼんやり思ってることをメモ
思考メモです。
Markdownを知ってしまうと、はてな記法や、hnf等は、概念からして時代遅れだよなと ―― それら古い記法は比較の対象にすらならんのではと感じてしまうわけで。「この記号・省略語を使ってコンピュータに指示を出すのだ」「しかも極力タイプ数を減らすのだ」てなあたりで止まってる記法は、前世代っぽいというか。
以前、「Markdownは機能数が少ないからダメ」とdisってる人を見かけた記憶があるのだけど。機能数で見てるあたりが、全然分かってないなと。Markdownは、「パッと見でも人間がすらすら読める記法になっているか」「プログラムにとって優しい記法じゃなくて、人に優しい記法になっているか」を優先して考案したあたりが他の記法との違いだろうと。考えてる次元・階層が違うというか、もっと上のステージで考えた記法でしょうと。 *1
ただ、元々、はてな記法にしろ、hnfにしろ、出発点は同じだったはずで。
「htmlを直接打つとかやってられないよ。馬鹿馬鹿しい」
「普段使うタグなんて限られてるんだから、そこだけサポートして、入力を楽にしよう」
てなあたりは、Markdownとおそらくは同じ。しかし、「人間が見ても読みやすい」という視点が欠落していた or 煮詰め方が足りなかったのだろうなと。喩えるなら、ガラケーは作れたけどiPhoneは作れなかった、みたいなソレに近いかもしれず。機能は満たしてるけど、違うんだよ、そうじゃねえんだよ、みたいな。
どうしても大半のプログラマーは ―― もちろん自分も含めて ―― そのあたりの発想が弱い・視点を持ってないというか…。文書の見た目という、ある種の美的感覚・バランス感覚を持ってない。「一般人がこの文書を目にした時にどんな印象を受けるか」と想像する能力をどこかで失ってしまったというか。まあ、そのあたり、職業病かもしれないのですけど。「どんなプログラムを書いたらこれが実現できるだろう」と常に考えちゃうから、ついついコンピュータ側に思考が寄っていって、人間側のソレをおろそかにしちゃう、てなところがありそうな。 *2
何かの記法を考えるときに、「特殊記号や省略単語を打てば、タイプ数も少なくなるし、処理も楽になる。後から機能も増やせる」みたいなレベルで止まってたらマズイのだろうなと。その先に行かないと。いつまでも、Perlの変態特殊記号ノリモドキな仕様を重宝してるようではダメなのだろうと。
てなことを、Markdownで何かしら書いてる際には、チラチラ思ってしまうのでした。できる限り、Markdownのような方向を目指さないと、いかんのだろうなあ…。まあ、Markdown も、特殊記号がチョコチョコ混じってるので、もっとイケてる記法を生み出せる余地はありそうですけど。
なんとなく、そのあたり、漫符表現や顔文字と通じるところがありそうな気もしてきたり。見ただけで「ああ、こういう状態かな」と伝わる、みたいな。
Markdownを知ってしまうと、はてな記法や、hnf等は、概念からして時代遅れだよなと ―― それら古い記法は比較の対象にすらならんのではと感じてしまうわけで。「この記号・省略語を使ってコンピュータに指示を出すのだ」「しかも極力タイプ数を減らすのだ」てなあたりで止まってる記法は、前世代っぽいというか。
以前、「Markdownは機能数が少ないからダメ」とdisってる人を見かけた記憶があるのだけど。機能数で見てるあたりが、全然分かってないなと。Markdownは、「パッと見でも人間がすらすら読める記法になっているか」「プログラムにとって優しい記法じゃなくて、人に優しい記法になっているか」を優先して考案したあたりが他の記法との違いだろうと。考えてる次元・階層が違うというか、もっと上のステージで考えた記法でしょうと。 *1
ただ、元々、はてな記法にしろ、hnfにしろ、出発点は同じだったはずで。
「htmlを直接打つとかやってられないよ。馬鹿馬鹿しい」
「普段使うタグなんて限られてるんだから、そこだけサポートして、入力を楽にしよう」
てなあたりは、Markdownとおそらくは同じ。しかし、「人間が見ても読みやすい」という視点が欠落していた or 煮詰め方が足りなかったのだろうなと。喩えるなら、ガラケーは作れたけどiPhoneは作れなかった、みたいなソレに近いかもしれず。機能は満たしてるけど、違うんだよ、そうじゃねえんだよ、みたいな。
どうしても大半のプログラマーは ―― もちろん自分も含めて ―― そのあたりの発想が弱い・視点を持ってないというか…。文書の見た目という、ある種の美的感覚・バランス感覚を持ってない。「一般人がこの文書を目にした時にどんな印象を受けるか」と想像する能力をどこかで失ってしまったというか。まあ、そのあたり、職業病かもしれないのですけど。「どんなプログラムを書いたらこれが実現できるだろう」と常に考えちゃうから、ついついコンピュータ側に思考が寄っていって、人間側のソレをおろそかにしちゃう、てなところがありそうな。 *2
何かの記法を考えるときに、「特殊記号や省略単語を打てば、タイプ数も少なくなるし、処理も楽になる。後から機能も増やせる」みたいなレベルで止まってたらマズイのだろうなと。その先に行かないと。いつまでも、Perlの変態特殊記号ノリモドキな仕様を重宝してるようではダメなのだろうと。
てなことを、Markdownで何かしら書いてる際には、チラチラ思ってしまうのでした。できる限り、Markdownのような方向を目指さないと、いかんのだろうなあ…。まあ、Markdown も、特殊記号がチョコチョコ混じってるので、もっとイケてる記法を生み出せる余地はありそうですけど。
なんとなく、そのあたり、漫符表現や顔文字と通じるところがありそうな気もしてきたり。見ただけで「ああ、こういう状態かな」と伝わる、みたいな。
*1: もっとも、Markdownは、「機能が欲しい? だったらそこだけ、htmlで書きなよ」と、html仕様に丸投げできちゃうので…。「機能数が少ない」という評価が、そもそもおかしい気もしていて。html仕様を全て満たせるあたり、実は最も強力なのではないかしらん。
*2: しかし、そのあたり、プログラマーに限った話じゃないのかもしれず。例えば、紙芝居ゲーム作成ツールのスクリプト記法も、ゲロ吐きそうな記法だけど。シナリオライターさんが苦情を言ってる場面を見た記憶がなくて。シナリオを書いてるってことは、おそらくは小説家寄りの思考ができる人達のはずで、つまりは「文書の見た目」という視点も持ってるだろうと。であれば、
「こんな呪文、一々書いてられんわ。馬鹿げてる」
「俺はシナリオを書きたいんだ。文章表現に注力したいんだ。コンピュータへの命令書を書きたいわけじゃない」
「小説原稿としての見た目も兼ね備えたスクリプト記法を考えよう」
等の意見が出てきてもおかしくないだろうに…。まあ、その手のマゾ仕様に耐えちゃう人が、作業を延々と続けていて。耐えられない人は「こりゃ馬鹿馬鹿しいわ」と、フツーに小説その他を書く作業に移行しちゃって。結果、文句が出てこないのかもしれないか…。
*2: しかし、そのあたり、プログラマーに限った話じゃないのかもしれず。例えば、紙芝居ゲーム作成ツールのスクリプト記法も、ゲロ吐きそうな記法だけど。シナリオライターさんが苦情を言ってる場面を見た記憶がなくて。シナリオを書いてるってことは、おそらくは小説家寄りの思考ができる人達のはずで、つまりは「文書の見た目」という視点も持ってるだろうと。であれば、
「こんな呪文、一々書いてられんわ。馬鹿げてる」
「俺はシナリオを書きたいんだ。文章表現に注力したいんだ。コンピュータへの命令書を書きたいわけじゃない」
「小説原稿としての見た目も兼ね備えたスクリプト記法を考えよう」
等の意見が出てきてもおかしくないだろうに…。まあ、その手のマゾ仕様に耐えちゃう人が、作業を延々と続けていて。耐えられない人は「こりゃ馬鹿馬鹿しいわ」と、フツーに小説その他を書く作業に移行しちゃって。結果、文句が出てこないのかもしれないか…。
[ ツッコむ ]
2013/02/27(水) [n年前の日記]
#1 [nitijyou] CD-RやDVD-Rを発掘中
昔、CD-RやDVD-Rにバックアップしたファイル群があるはず、と思ってまだ漁っていたり。
昔の日記を検索したら、やはり2006/01頃に、メインPCのHDDが壊れてたっぽい。無理矢理サルベージしたファイル群がDVD-Rにバックアップされてたので、それらを一旦HDDにコピーし直して中身を確認中。しかし、自分が作ったイラストのファイルは見つからず。一体どこに行ってしまったのか。消滅しちゃったのかなあ…。
昔の日記を検索したら、やはり2006/01頃に、メインPCのHDDが壊れてたっぽい。無理矢理サルベージしたファイル群がDVD-Rにバックアップされてたので、それらを一旦HDDにコピーし直して中身を確認中。しかし、自分が作ったイラストのファイルは見つからず。一体どこに行ってしまったのか。消滅しちゃったのかなあ…。
[ ツッコむ ]
2012/02/27(月) [n年前の日記]
#1 [ruby] Ruby勉強中
クラス配列のソートについては以下の記事が参考になりました。ありがたや。
_Knockin'on TechLog ≫ Blog Archive ≫ RubyのArrayクラスのsortメソッドに引数を渡す(1) 〜動作のおさらい〜
_rubyでsortするときに注意すること - (゚∀゚)o彡 sasata299's blog
_Ruby: pickup URL (Japanese)
複数の条件でソートするときは、こういう書き方ができる、らしく。勉強になりました。
ディレクトリに対する操作は、以下を使用。
_Knockin'on TechLog ≫ Blog Archive ≫ RubyのArrayクラスのsortメソッドに引数を渡す(1) 〜動作のおさらい〜
_rubyでsortするときに注意すること - (゚∀゚)o彡 sasata299's blog
_Ruby: pickup URL (Japanese)
複数の条件でソートするときは、こういう書き方ができる、らしく。勉強になりました。
#!/usr/bin/ruby class C attr_accessor :v1, :v2 def initialize(a, b) @v1 = a @v2 = b end end c1 = C.new(10, 5) c2 = C.new(10, 3) c3 = C.new(5, 8) c = [c1, c2, c3] c.each {|v| puts "#{v.v1} #{v.v2}"} # 10 5 # 10 3 # 5 8 c.sort! {|a,b| (a.v1 <=> b.v1).nonzero? or a.v2 <=> b.v2 } puts "sort" c.each {|v| puts "#{v.v1} #{v.v2}"} # 5 8 # 10 3 # 10 5
ディレクトリに対する操作は、以下を使用。
- リネームは File.rename を。
- 移動は、FileUtils.mv を。
- 後者は、require 'fileutils' が必要。
[ ツッコむ ]
#2 [pc] vimはモードがあるからダメエディタ
てなことを、以下の記事を読みながら思った。
_パソコン教室でわかったシニアの「使いにくさ」を左右する要因 | マミオン有限会社
とはいえ、モードを無くすことは、かなり難しい気もする。それは別に、vimに限った話ではなく。例えばGIMP等の画像編集ソフトは、筆ツールやら選択範囲ツールやらを切り替えて操作するけど、これ自体がモードであろうし。筆ツールと選択範囲ツールの統合!なんて課題を思い浮かべただけで、クラクラしてくる。実現できそうな予感がしない。仮に実現できたとしたら、コンピュータのUIが概念レベルで一段階進化したとき、なのだろうなあ。
いや待て。モードと道具は違うような気がしてきた。ハサミを使って文字を書こうとする人は居ないし、電気炊飯器でコンビニに出かけようと思う人は居ない。つまり、モードと道具は違うのかもしれない。モードを道具に置き換えることができれば、それだけで印象が随分変わるのかしら。分からないけど。
_パソコン教室でわかったシニアの「使いにくさ」を左右する要因 | マミオン有限会社
パソコンを苦も無く使える人と、苦戦する人との違いの一つは、この「モード」という概念を意識できているか否かが大きいのではと思っています。実は自然界や昔から使われているモノは、「モード」がないものの方が圧倒的に多いです。未だvimの操作に慣れることができない自分は、この説に同意してしまう。
とはいえ、モードを無くすことは、かなり難しい気もする。それは別に、vimに限った話ではなく。例えばGIMP等の画像編集ソフトは、筆ツールやら選択範囲ツールやらを切り替えて操作するけど、これ自体がモードであろうし。筆ツールと選択範囲ツールの統合!なんて課題を思い浮かべただけで、クラクラしてくる。実現できそうな予感がしない。仮に実現できたとしたら、コンピュータのUIが概念レベルで一段階進化したとき、なのだろうなあ。
いや待て。モードと道具は違うような気がしてきた。ハサミを使って文字を書こうとする人は居ないし、電気炊飯器でコンビニに出かけようと思う人は居ない。つまり、モードと道具は違うのかもしれない。モードを道具に置き換えることができれば、それだけで印象が随分変わるのかしら。分からないけど。
この記事へのツッコミ
[ ツッコミを読む(1) | ツッコむ ]
#3 [neta][zatta] 寝る時の姿勢で夢の内容が変わるような気がしたり
体を右側に傾けて寝るか、左側に傾けて寝るかで、夢の内容が変わる、ような気がしてきた。右側に傾けて寝ると、夢の内容が比較的論理性を持った内容になり、左側に傾けて寝ると、論理性はないがバラエティに富んだ内容になる。ような気がする。単に気のせいかもしれないけど。
根拠のないオレオレトンデモ仮説だけど。右脳と左脳の違いに基づくのではないかと。
このトンデモ仮説が当たっていたら、横になって何かを考える時、姿勢を活用できるかもしれない。論理的なことを考えるなら、右側に傾けて横になる。絵や音楽のイメージを出したいなら、左側に傾けて横になる。積極的に動かしたい脳が上になるような姿勢を取る。
こういうのって、どうしたら検証できるんだろう。
根拠のないオレオレトンデモ仮説だけど。右脳と左脳の違いに基づくのではないかと。
- 体を右側に傾けると右脳が下になるので、左脳が夢の内容に大きな影響を与える。つまり論理性を持った夢の内容になる。
- 体を左側に傾けると左脳が下になるので、右脳が夢の内容に大きな影響を与える。つまり脈絡のない夢の内容になる。
このトンデモ仮説が当たっていたら、横になって何かを考える時、姿勢を活用できるかもしれない。論理的なことを考えるなら、右側に傾けて横になる。絵や音楽のイメージを出したいなら、左側に傾けて横になる。積極的に動かしたい脳が上になるような姿勢を取る。
こういうのって、どうしたら検証できるんだろう。
◎ 脳や体が疲れ切っていると悪夢を見る傾向があるような気もしたり。 :
回復するまでの間に、悪夢を見るような気がする。ある程度回復してしまえば状況は変わるだろうけど。
脳は肉体の影響を受けやすい。脳が肉体を制御する器官なのだから当たり前だけど。肉体の影響を脳がほんとど受けないとしたら、それはかえっておかしい。脳としての役目を果たしてない状態だから。脳の状態と体の状態を分離して考えてはいけない。…それを考えると、「気分が滅入った時はまず食事をとれ」「とにかく寝ろ」「話はそれからだ」という言説はたぶん正しい。
心配事、不安なことがあると悪夢を見るという話はよく聞くけれど。どちらかというと、肉体の影響を受ける場面のほうが多いような気もする。膀胱に尿が溜まってる状態だと、トイレに行く夢を見るようなもんで。
悪夢を見た時に、「なんでこんな夢を」と不安になるより、「脳が疲れているからだ」「体が意外と疲れているのだ」と思ったほうがいいような気がしたり。あるいは、「体が微小なストレスを受ける珍妙な寝相になっているのだ。枕の位置でも少し変えてみるか」とかそういう工夫のほうが効果が大きかったりするのではと。オレオレ仮説だけど。
脳は肉体の影響を受けやすい。脳が肉体を制御する器官なのだから当たり前だけど。肉体の影響を脳がほんとど受けないとしたら、それはかえっておかしい。脳としての役目を果たしてない状態だから。脳の状態と体の状態を分離して考えてはいけない。…それを考えると、「気分が滅入った時はまず食事をとれ」「とにかく寝ろ」「話はそれからだ」という言説はたぶん正しい。
心配事、不安なことがあると悪夢を見るという話はよく聞くけれど。どちらかというと、肉体の影響を受ける場面のほうが多いような気もする。膀胱に尿が溜まってる状態だと、トイレに行く夢を見るようなもんで。
悪夢を見た時に、「なんでこんな夢を」と不安になるより、「脳が疲れているからだ」「体が意外と疲れているのだ」と思ったほうがいいような気がしたり。あるいは、「体が微小なストレスを受ける珍妙な寝相になっているのだ。枕の位置でも少し変えてみるか」とかそういう工夫のほうが効果が大きかったりするのではと。オレオレ仮説だけど。
[ ツッコむ ]
2011/02/27(日) [n年前の日記]
#1 [anime] ハートキャッチプリキュアの最終回近くを鑑賞
HDDレコーダに録画したままだったソレをようやく消化。
うわ。燃える。何このアニメ。本当に幼女向け作品なんだろうか。熱い。これは熱いわ…。素晴らしい…。
と思ったら最終回で。なんじゃこりゃ。笑ってしまった。いやはや、素晴らしい。凄い作品だなあ。
うわ。燃える。何このアニメ。本当に幼女向け作品なんだろうか。熱い。これは熱いわ…。素晴らしい…。
と思ったら最終回で。なんじゃこりゃ。笑ってしまった。いやはや、素晴らしい。凄い作品だなあ。
[ ツッコむ ]
2010/02/27(土) [n年前の日記]
#1 [anime] 戦隊シリーズを消化中
なんとか最終回1つ前まで消化。…最終回の録画はノイズだらけの映像になっているはずなので、見るのが怖い。
[ ツッコむ ]
2009/02/27(金) [n年前の日記]
#1 [pc] ATXはでか過ぎるな
部屋の中にATX M/Bを入れたPC・ATX対応ミドルタワーケースが2個ほど転がってるわけだけど。邪魔だな…。せめてMicroATXだったら良かったのに…。
ATX M/B に、ビデオカード+サウンドカード+NIC+下手するとUSB増設ボードまでつけてるわけだけど。今だったら、MicroATX M/B、いや、Mini-ITX M/B ですら全部実装されているわけで。ATXミドルタワーケースの1/3〜1/4の大きさで同じことができてしまう。うーん。
ATX M/B に、ビデオカード+サウンドカード+NIC+下手するとUSB増設ボードまでつけてるわけだけど。今だったら、MicroATX M/B、いや、Mini-ITX M/B ですら全部実装されているわけで。ATXミドルタワーケースの1/3〜1/4の大きさで同じことができてしまう。うーん。
[ ツッコむ ]
2008/02/27(水) [n年前の日記]
#1 [nitijyou] ヘルプだったのか…
iアプリの新任デザイナーさん、と思っていた方から、「オラ、3日だけ手伝うという話だったはずだけど…?」的内容のメールが。ガーン。そうだったのか…。そうとは知らず、ガンガンあれこれ作業のお願いメールを送りつけてしまっていたわけで。>自分。しまった。そうと知ってれば、こんなにメールを送るんじゃなかった。うう…。
もっと作業内容を厳選してお願いすればよかった。失敗した。いや、期間が長かろうが短かろうが、厳選してお願いするのはやるべきことだったな。トホホ。
もっと作業内容を厳選してお願いすればよかった。失敗した。いや、期間が長かろうが短かろうが、厳選してお願いするのはやるべきことだったな。トホホ。
◎ できれば自分一人でグラフィックもプログラムも担当したいなと思えてきた。 :
全部自分一人でやるのだと最初から判ってれば、何が必要で、どんな作業をして、といったことが把握しやすいし。「これはこうして」等の指示を出す・やりとりする必要もないし。上がってきた画像に対して「うーん…」とか「うわ勘弁して」となることもないし。もっとも、自分の作った画像が、客観的には使い物になるレベルに達してるかどうかはさっぱり判らんのだけど。たぶん、下手の横好きレベルな予感。
一人でやれば、プログラムとの兼ね合いを考えながら画像を作れるというメリットもあるし。容量が厳しいとなった場合も、どこをどうすれば削れそうなのか予想がつくし。これは画像じゃなくてプログラムでどうにかしよう、とか。その逆で、プログラムじゃ難しいから画像で解決しよう、という案も浮かぶし。そういうメリットはあるんだよな。
もっとも、並列して作業ができないから開発期間はどんどん延びてしまうデメリットがあるんだよな。とは言っても、画像がないとどんなソースを書けばいいのか見えにくいし、後で上がってきた画像を見て「あれー、こんなはずでは…」となってしまうこともよくあるから、結局は並列作業にならない場面が多いような気もしてきた。…いや待て。それは最初に、きっちり仕様を固めてから作業してないのがいかんのか。むぅ。
何にせよ、自分の作業の進め方には、根本的な問題が多々あるような気がしてきた。うーん。
一人でやれば、プログラムとの兼ね合いを考えながら画像を作れるというメリットもあるし。容量が厳しいとなった場合も、どこをどうすれば削れそうなのか予想がつくし。これは画像じゃなくてプログラムでどうにかしよう、とか。その逆で、プログラムじゃ難しいから画像で解決しよう、という案も浮かぶし。そういうメリットはあるんだよな。
もっとも、並列して作業ができないから開発期間はどんどん延びてしまうデメリットがあるんだよな。とは言っても、画像がないとどんなソースを書けばいいのか見えにくいし、後で上がってきた画像を見て「あれー、こんなはずでは…」となってしまうこともよくあるから、結局は並列作業にならない場面が多いような気もしてきた。…いや待て。それは最初に、きっちり仕様を固めてから作業してないのがいかんのか。むぅ。
何にせよ、自分の作業の進め方には、根本的な問題が多々あるような気がしてきた。うーん。
[ ツッコむ ]
2007/02/27(火) [n年前の日記]
#1 [cg_tools] Intuos3フォトフィニッシュパックなるものが発売されるらしい
Photoshop Elements 5.0 がついてる。…失敗した! もう少し待てばよかった! ついこないだ普通の Intuos3 を買ってしまったばかりなのに。うわーん。
つーか、標準でついてる Photoshop Elements 3.0 を安くアップグレードできる特典とか用意してくれんだろうか。って「バンドルされてるだけでもありがたいと思いやがれ」って感じなのか。> wacom。
Adobe の正規アップグレード版も、DL版がパッケージ版と同じ価格になっちゃったしなぁ…。
つーか、標準でついてる Photoshop Elements 3.0 を安くアップグレードできる特典とか用意してくれんだろうか。って「バンドルされてるだけでもありがたいと思いやがれ」って感じなのか。> wacom。
Adobe の正規アップグレード版も、DL版がパッケージ版と同じ価格になっちゃったしなぁ…。
[ ツッコむ ]
#2 [digital] Canon PowerShot A300 を修理してもらうよう、電話連絡した
_キヤノン:サポート|デジタルビデオカメラ/デジタルカメラをご使用のお客さまへ
のページに書いてある電話番号に連絡。
起動時の画面や、アイコン等は表示されているが、CCDから送られているのであろう画像だけがおかしくなってるか、確認するように言われた。なるほどたしかに、アイコン等は正常表示されている。ということで、やっぱりCCD不具合の可能性が高いだろうという話に。
Canon が宅配業者を手配して、取りに来てもらえるらしい。明日、14:00-16:00 の間で予約(?)した。ヤマト運輸さんが来るとのこと。梱包はしなくていいらしい。宅配業者のほうで梱包するとか。ただ、電池も、CFも、ストラップさえも外して、あくまで本体だけを渡すように、だそうで。
起動時の画面や、アイコン等は表示されているが、CCDから送られているのであろう画像だけがおかしくなってるか、確認するように言われた。なるほどたしかに、アイコン等は正常表示されている。ということで、やっぱりCCD不具合の可能性が高いだろうという話に。
Canon が宅配業者を手配して、取りに来てもらえるらしい。明日、14:00-16:00 の間で予約(?)した。ヤマト運輸さんが来るとのこと。梱包はしなくていいらしい。宅配業者のほうで梱包するとか。ただ、電池も、CFも、ストラップさえも外して、あくまで本体だけを渡すように、だそうで。
[ ツッコむ ]
#3 [nitijyou] Adobeに、Adobe製品の譲渡申請書を送ってほしい旨を電話連絡
申請書はメールで届くらしい。…メールで送れるものなのか? と思って尋ねたら、pdfで送るのだとか。あー、なるほど。pdfって便利だな。
◎ 数時間後、メールが届いた。 :
たしかにpdfが添付されてる。とりあえず印刷。
[ ツッコむ ]
#4 [nitijyou] 妹が通勤に使ってる中古のシビックがとうとう壊れた
半年おきの定期点検の際、オイルが漏れてるけど修理不可能・無理に蓋?をあけると周囲まで取れて戻せなくなる、という話で。もう廃車にするしかない、てなことを数日前まで話してたのだけど。
今朝、エンジン下部からオイルがぼとぼと漏れてることに親父さんが気づいて。ボンネットを開けたらオイルが入るのであろう箇所の蓋が消失・エンジンがかからなくなっていたらしい。親父さん曰く、おそらく走ってるうちにふっとんでどこかに落としてきてしまったんじゃないかとのこと。何にせよ、もう走らせるのは無理。
妹用の新車を購入する方向で話は進んでいたのだけど。まさかその前にシビックがダメになってしまうとは。妹の通勤途中に壊れなかったのはラッキーだった…。
短い間だったけど、ご苦労さん。>シビック。謎のエンジンが入ってると判明して恐怖したとか、前の持ち主が運転席横のドアに鼻くそをつけまくっていたみたいだとか、ハンドルが異様に重いとか、よそ見運転のおばさんに追突されちゃってトランクがペシャンコになったとか、自分も妹も運転に慣れてないから玄関にこすったり藪に突っ込んだりで満身創痍だったりとか。色々あったけど。最後の最後まで走ってくれてありがとう。って自分はほとんど乗ってないけど。運転、コワヒコワヒ。
今朝、エンジン下部からオイルがぼとぼと漏れてることに親父さんが気づいて。ボンネットを開けたらオイルが入るのであろう箇所の蓋が消失・エンジンがかからなくなっていたらしい。親父さん曰く、おそらく走ってるうちにふっとんでどこかに落としてきてしまったんじゃないかとのこと。何にせよ、もう走らせるのは無理。
妹用の新車を購入する方向で話は進んでいたのだけど。まさかその前にシビックがダメになってしまうとは。妹の通勤途中に壊れなかったのはラッキーだった…。
短い間だったけど、ご苦労さん。>シビック。謎のエンジンが入ってると判明して恐怖したとか、前の持ち主が運転席横のドアに鼻くそをつけまくっていたみたいだとか、ハンドルが異様に重いとか、よそ見運転のおばさんに追突されちゃってトランクがペシャンコになったとか、自分も妹も運転に慣れてないから玄関にこすったり藪に突っ込んだりで満身創痍だったりとか。色々あったけど。最後の最後まで走ってくれてありがとう。って自分はほとんど乗ってないけど。運転、コワヒコワヒ。
◎ HONDAの営業の人が来てくれた。 :
店自体は、今日は休みらしいのだけど。営業の人とは連絡が取れたらしい。休みのところスイマセン。
と思ったら。普通に走ってて蓋が取れることはないはずで、おそらく定期点検の際に作業員がちゃんと締めてなかったのだろうという話で。あちらの方が平謝り、だったらしい。まあ、何にせよ、走行不可能な状態であることは確定。
とりあえず、代車を手配してくれるらしい。購入予定の新車と同じ型らしいので、妹も慣れることができそう。
と思ったら。普通に走ってて蓋が取れることはないはずで、おそらく定期点検の際に作業員がちゃんと締めてなかったのだろうという話で。あちらの方が平謝り、だったらしい。まあ、何にせよ、走行不可能な状態であることは確定。
とりあえず、代車を手配してくれるらしい。購入予定の新車と同じ型らしいので、妹も慣れることができそう。
[ ツッコむ ]
#5 [cg_tools][prog] 昔作った画像合成用のスクリプトが上手く動かなくなっていた。
_m256 Perlmagick Composite Utility
ってのを大昔に作ったのだけど、動かしてみたらプレビュー画像表示の際にエラーが。
表示用の作業ファイルの拡張子を、ppm から xpm にすると、プレビュー画像が出ることは出るけど。処理が遅い。異様に遅い。
とりあえず、一応修正してアップロードしておいた。 0.02 → 0.03 に修正。
Tk::Error: PPM image file "C:\hoge\fuge\hage/____m256pmcu_tmp2.ppm" has bad maximum intensity value 65535 at C:/usr/local/Perl/lib/Tk/Image.pm line 21. Tk callback for image Tk::Image::new at C:/usr/local/Perl/lib/Tk/Image.pm line 21 Tk::Image::__ANON__ at C:/usr/local/Perl/lib/Tk/Image.pm line 63 main::PreviewImageWindowToCanvas at C:\hoge\fuge\hage\m256pmcu.pl line 367 main::CompositePreview at C:\hoge\fuge\hage\m256pmcu.pl line 662 Tk callback for .frame1.frame2.button Tk::__ANON__ at C:/usr/local/Perl/lib/Tk.pm line 252 Tk::Button::butUp at C:/usr/local/Perl/lib/Tk/Button.pm line 111 <ButtonRelease-1> (command bound to event)合成結果プレビュー用 ppm ファイルの先頭のあたりをバイナリエディタで覗くと、「65535」なる値が ASCII で入ってる。なんだこりゃ。何にせよ、このスクリプトは、Active Perl 5.8.8 build 819 では問題があるみたいだな…。連番画像の合成処理自体は一応できるみたいなんだけど。
表示用の作業ファイルの拡張子を、ppm から xpm にすると、プレビュー画像が出ることは出るけど。処理が遅い。異様に遅い。
◎ ppm への変換時に depth を指定したら動いてくれるようになった。 :
$img[$kind]->Set(magick=>$ext); $img[$kind]->Set(depth=>'8');みたいな。色深度を指定しないとゴイスなカラーモードで出力してしまう、のかもしれん。判らんけど。
とりあえず、一応修正してアップロードしておいた。 0.02 → 0.03 に修正。
◎ Perl/Tk で扱える画像フォーマットって、本当に ppm/pgm/xpm/gif しかないのだろうか。 :
未だに他のフォーマットは扱えないのかしら…。せめて png とか使えんかな…。
そもそも、わざわざ Perl/Tk でやらなくたって、ImageMagick にファイル名を順々に渡していくスクリプトを作るだけでいいような気もする。まあ、当時は勉強も兼ねてやってたんだろうけど。>自分。
今は blender あたりで合成できるんじゃないのかな。オープンソース文化圏から、色々な動画編集ツールも出てきてるようでもあるし。GIMP + GAP でも出来たりするのかもしれん。メニュー等が英語だからさっぱり判らんけど。
そもそも、わざわざ Perl/Tk でやらなくたって、ImageMagick にファイル名を順々に渡していくスクリプトを作るだけでいいような気もする。まあ、当時は勉強も兼ねてやってたんだろうけど。>自分。
今は blender あたりで合成できるんじゃないのかな。オープンソース文化圏から、色々な動画編集ツールも出てきてるようでもあるし。GIMP + GAP でも出来たりするのかもしれん。メニュー等が英語だからさっぱり判らんけど。
[ ツッコむ ]
#6 [cg_tools] GIMPの各レイヤーを連番画像として保存してくれるスクリプト continuous-save の動作確認
Windows版 GIMP もかなりバージョンが上がってきてるから、αチャンネルつきpngも問題なく出力される状態になったのかな、と期待したけれど。やはりゴミが入る…。連番画像の最初の数枚はそれらしいゴミが見えないのだけど、後のほうになるにしたがい、ポツリポツリと数ドットの大きさの謎ドットが。たぶん、その時のメモリの状況によって、何が入るのかは不定だったりするのだろうけど。
まあ、 _1行入れれば解決する けど。でも、今度は Linux 版で不具合が起きたりしたらどうしよう。
一応、テストに使った .xcf ファイルを置いておくかな…。 _zipに入れて置いときます。
まあ、 _1行入れれば解決する けど。でも、今度は Linux 版で不具合が起きたりしたらどうしよう。
一応、テストに使った .xcf ファイルを置いておくかな…。 _zipに入れて置いときます。
◎ 確認作業時に、ツールによって見え方が異なることに気がついた。 :
あふで見ると、盛大なノイズが。あふというよりは、あふが呼び出してる susie プラグインの動作に起因するのだろうけど。プラグインの設定等も絡んでるのかしら。
同じ画像を IrfanView で見ると、そんなにノイズは多くない。 GIMP で開いた際にも、IrfanView と同じ見え方になる。
おそらく、Susie プラグインのほうは、αチャンネルの情報を、RGBチャンネルに反映させてない状態で表示してるのではないか、という気がする。IrfanView と GIMP は、αチャンネル情報を表示に反映させてるから、ノイズがグンと少なく見えるのでは。でも、どこかしら、RGBチャンネルも、αチャンネルも、謎の値が入る場面がある…のかなぁ。
RGBチャンネルを壊している・不定の値を入れてるのか、αチャンネルを壊している・不定の値を入れてるのか、よくわからんのだよなぁ。あふのソレを見ると、RGBチャンネルを盛大に壊してるようにも見えるし。
同じ画像を IrfanView で見ると、そんなにノイズは多くない。 GIMP で開いた際にも、IrfanView と同じ見え方になる。
おそらく、Susie プラグインのほうは、αチャンネルの情報を、RGBチャンネルに反映させてない状態で表示してるのではないか、という気がする。IrfanView と GIMP は、αチャンネル情報を表示に反映させてるから、ノイズがグンと少なく見えるのでは。でも、どこかしら、RGBチャンネルも、αチャンネルも、謎の値が入る場面がある…のかなぁ。
RGBチャンネルを壊している・不定の値を入れてるのか、αチャンネルを壊している・不定の値を入れてるのか、よくわからんのだよなぁ。あふのソレを見ると、RGBチャンネルを盛大に壊してるようにも見えるし。
◎ 2007/03/04追記:修正版を公開してもらえた。 :
_たむぶん版 Continuous Save
対応ありがとうございます。>作者様。動作確認したところ、ゴミが入らなくなってる・不具合が解決されてました。感謝感激であります。
(gimp-edit-clear hoge) なるコマンド?関数?があったのですな。知らなかった…。
対応ありがとうございます。>作者様。動作確認したところ、ゴミが入らなくなってる・不具合が解決されてました。感謝感激であります。
(gimp-edit-clear hoge) なるコマンド?関数?があったのですな。知らなかった…。
◎ 2019/12/30追記。 :
GIMP 2.10 に対応した Continuous Save を、たむぶん様が公開してくれているようです。公開ページのURLも変わっていたようなので追記しておきます。
_たむぶん版 Continuous Save
また、今時は、Python-Fu で実装された、更に高機能なプラグインがありますので、そちらも紹介しておきます。
_Home | Export Layers
_たむぶん版 Continuous Save
また、今時は、Python-Fu で実装された、更に高機能なプラグインがありますので、そちらも紹介しておきます。
_Home | Export Layers
この記事へのツッコミ
- Re: GIMPの各レイヤーを連番画像として保存してくれるスクリプト continuous-save の動作確認 by たむぶん 2007/03/03 02:43
- Windows版の Gimp 2.2.13 をインストールして、fb_layer.xcfで
continuous-saveを試してみたところ、確かにゴミが付いてました。
原因は土日にでも調べてみます。 - Re: GIMPの各レイヤーを連番画像として保存してくれるスクリプト continuous-save の動作確認 by プラグイン利用側の作者 2007/03/03 11:40
- Susie を起動して、メニューの「ファイル」-「設定...」を選択して、IFPNG.SPI の「設定」ボタンで設定ダイアログを出して、「背景色との合成」にチェックを入れて「背景色の規定色」をあふの背景色(黒)に指定してみて下さい。 んー、あふからもプラグインの設定画面は出せるようにした方が良いですかねぇ…。
- Re: GIMPの各レイヤーを連番画像として保存してくれるスクリプト continuous-save の動作確認 by たむぶん 2007/03/03 16:06
- (何度も削除してすいません)
原因が分かったので、修正版 ver 0.7を作りました。
http://club.pep.ne.jp/~tamubun/computer/continuous-save.html
少なくとも、fb_layer.xcfでは、Windows版、Linux版共に、私のPCではゴミが付かなくなったことを確認しています。
ところで、「あふ」ってソフトの名前だったのですね。趣味の関係で「あふる」という動詞はよく使うのですが、ソフトの方は今まで知りませんでした。 - こちらでも動作確認してみました by mieki256 2007/03/05 00:43
- > 原因が分かったので、修正版 ver 0.7を作りました。
ありがとうございます!
こちらでも動作確認してみましたが、ゴミが出なくなってるように見えます。
問題(?)解決、ですね。感謝であります。
> 趣味の関係で「あふる」という動詞はよく使う
そんな言葉があるのですか…。私はそちらのほうを知りませんでした。
なるほど、「あふ」と区切って書く、あるいは、「afx」と書かないと、
ソフト名であることすら伝わらないと気づき、反省であります。
…考えてみると、ちょっと変わったソフト名ですね。>「あふ」
どこか、PC-9801やX68Kの、時代の香りがする…。 - 「あふ」とsusieプラグインについて by mieki256 2007/03/05 00:49
- > 「背景色との合成」にチェックを入れて
おお。わざわざ情報ありがとうございます。
該当オプションを設定することで、IrfanView と同じ見え方になりました。
それにしても、背景色と合成しないとゴミが見えるのが
なんだか不思議ではありますね…。
png内の、どのチャンネル(?)の値が参照されてるんだろう…。
それとも、チャンネルとは無関係な領域が参照されてるのかしら…。 - Re: GIMPの各レイヤーを連番画像として保存してくれるスクリプト continuous-save の動作確認 by 佐々木和守 2019/12/30 22:43
- continuous-saveがgimp2.10系ですと正常動作しないためアップデートをしていただけると嬉しいです。
- Re: GIMPの各レイヤーを連番画像として保存してくれるスクリプト continuous-save の動作確認 by mieki256 2019/12/31 01:26
- > continuous-saveがgimp2.10系ですと正常動作しない
たむぶん様が公開されてるスクリプトの最新版がGIMP 2.10に対応済みのようです。
記事の最後に追記しておきました。
[ ツッコミを読む(7) | ツッコむ ]
#7 [flash] FreeMotionのスライドショー作成ウイザードを使ってみたが
本当にスライドショーなんだな…。ちょっと自分の求めてるものとは違ってた。
素材画像を眺めてるうちに、透視変換的表示にしたほうがよいかもしれんと夢想。
素材画像を眺めてるうちに、透視変換的表示にしたほうがよいかもしれんと夢想。
この記事へのツッコミ
- Re: FreeMotionのスライドショー作成ウイザードを使ってみたが by あすか 2007/10/24 19:59
- 私もFreeMotionをもっているんですが、スライドショーを使ってガッカリしました。
できれば、次の写真に行くときにフェードアウトし、次の写真がフェードインするようにしたいのですが、なにか方法ありますでしょうか?
作成ウィザードを使わずに、ボタンで次の写真へ飛ぶようにして、写真にフェードのエフェクトをかけたのですが、一枚目のエフェクトだけがループしてしまい、できませんでした。
わかりにくい表現ですいませんが、教えていただけるとありがたいです。 - FreeMotionのスライドショー作成ウイザード by mieki256 2007/10/30 15:26
- > 次の写真に行くときにフェードアウトし、
> 次の写真がフェードインするようにしたい
FreeMotionを起動して試してみましたが、
スライドショーの作成ウイザードでも、そういう見せ方はできるようです。
記事として書いておきました。
http://blawat2015.no-ip.com/~mieki256/diary/200710272.html#200710272
参考になれば良いのですが。
[ ツッコミを読む(2) | ツッコむ ]
2006/02/27(月) [n年前の日記]
#1 [nitijyou] 自転車で銀行まで行って
RD-H1とPCのお金を振り込んできた。…注文してから1週間以内に振り込まなきゃいけないはずだけど、時間的に大丈夫かな…。
◎ 夜食を買いだめ。 :
ヨークベニマルで。…なんか自分、日本昔話によく出てくる、時々山から下りてきて、村で食料を買いだめして帰っていくお爺さんみたいだ。
[ ツッコむ ]
#2 [nitijyou] パチンコ屋さんに入ってみた
事情があって、眺めてこないといけなかったので。…パチンコ屋に入ったのって、大学卒業間際に、「学生でありながらパチンコやったことがないのはマズイだろう」と、友人のg氏と一緒に突入して、30分後、「俺たち、向いてないね」とスゴスゴと引き返して以来だな…。
福島県須賀川市のパチンコ屋さんは、郊外型のでかい建物がほとんど。デザインは綺麗なんだけど、入り口がどこなのかわからなくて悩む。…道路の反対側がメインの入り口だったらしい。何故。
入ってみたら、ものスゴイ轟音だった。気が狂いそう。中に居る人は間違いなく難聴になるのでは…。それにしても、外部にまったく轟音が出てないことに驚いた。防音に気を配って建物を設計してるということだろうか。いや、主に鳴ってる音が、ガラス戸等で遮断しやすい種類なのだろうか。そのへんわからんけど。
お目当ての機種は見つからず。台数はたくさんあるんだけど機種は数種類しかない。…なんだか嫌な予感。
試しにプレイしてみようかとも思ったけど、何をどうしたらいいのかさっぱりわからない。どこでコイン?メダル?に変えられるのだろう。変えるための機械がありそうだけど、それすら見つけられなかった。…初心者向けに、手順を書いた紙とか張っておいてほしいな。あるいは入り口に、初めて遊ぶ人向けのチラシを用意しておくとか。…まあ、今時、パチンコその他をやったことのない人間なんて存在するわけがないと思ってるのかもしれない。どうせほっといても客は集まってくるだろうし。
福島県須賀川市のパチンコ屋さんは、郊外型のでかい建物がほとんど。デザインは綺麗なんだけど、入り口がどこなのかわからなくて悩む。…道路の反対側がメインの入り口だったらしい。何故。
入ってみたら、ものスゴイ轟音だった。気が狂いそう。中に居る人は間違いなく難聴になるのでは…。それにしても、外部にまったく轟音が出てないことに驚いた。防音に気を配って建物を設計してるということだろうか。いや、主に鳴ってる音が、ガラス戸等で遮断しやすい種類なのだろうか。そのへんわからんけど。
お目当ての機種は見つからず。台数はたくさんあるんだけど機種は数種類しかない。…なんだか嫌な予感。
試しにプレイしてみようかとも思ったけど、何をどうしたらいいのかさっぱりわからない。どこでコイン?メダル?に変えられるのだろう。変えるための機械がありそうだけど、それすら見つけられなかった。…初心者向けに、手順を書いた紙とか張っておいてほしいな。あるいは入り口に、初めて遊ぶ人向けのチラシを用意しておくとか。…まあ、今時、パチンコその他をやったことのない人間なんて存在するわけがないと思ってるのかもしれない。どうせほっといても客は集まってくるだろうし。
◎ ゲームセンターにも行ってみた。 :
最近はゲームセンターにも置かれてると聞いたので、ロックタウンのゲームセンターに足を伸ばした。
機種はパチンコ屋さんよりたくさんあった。が、お目当ての機種は見つからず。
全然関係ないけど。ゲームのほうは、コクピット型の筐体のゲームしか置いてなかった。レースゲームとかガンダムのゲームとか。あと競馬ゲーム。格闘ゲームは1つ2つ置いてあるだけ。後はUFOキャッチャー。ロックタウンのゲーセンが特殊なのか、それとも全体的にそういう流れなのか。
機種はパチンコ屋さんよりたくさんあった。が、お目当ての機種は見つからず。
全然関係ないけど。ゲームのほうは、コクピット型の筐体のゲームしか置いてなかった。レースゲームとかガンダムのゲームとか。あと競馬ゲーム。格闘ゲームは1つ2つ置いてあるだけ。後はUFOキャッチャー。ロックタウンのゲーセンが特殊なのか、それとも全体的にそういう流れなのか。
この記事へのツッコミ
- Re: パチンコ屋さんに入ってみた by けいと 2006/02/28 19:17
- > 格闘ゲームは1つ2つ置いてあるだけ。
> 全体的にそういう流れなのか。
勝手な妄想ですが、
ああいうゲーセンは「デートコース」になることを期待しているので
格ゲーのような
「男専用」「一人で長時間独占」「上級者以外お断りの雰囲気」を
醸し出してしまうゲームはノーサンキューなのでしょう。
ちょっと前だと格ゲーには、
こいついつ寝てるんだとか、いくら金持ってるんだよっていうような
ゲーマーが必ず一人二人いて
朝から晩までへばりついていたりするし、
そういう人が出てくるともう誰も勝てないし。
あと、男がそういうゲームに熱中しちゃうと
女の子が「つまんなーい」ってごねる姿が目に浮かびますし、
初心者がただタコ殴りされるためだけに数百円使うわけには
いかないですからねぇ。
UFOキャッチャーで彼女にプレゼントとか
メダルゲームで親子や恋人同士がわいわい、
っていう形を望んでいるのでしょう。
吉牛コピペのノリをゲーセンに求めてはいかんのです。 - Re: パチンコ屋さんに入ってみた by がんした 2006/03/03 00:32
- >デザインは綺麗なんだけど、入り口がどこなのかわからなくて悩む。…道路の反対側がメインの入り口だったらしい。何故。
駐車場と建屋と隣接道路の関係かも。客の車の出入りって頻繁だから、
下手に正面の道路に出入り口を作ると交通の流れが乱れるので、
あえて一本裏から入らないと入れれない駐車場とか、わりとあります。
そこらの絡みで、
裏に駐車場→正面に建屋→裏が正面出入り口
なのかも。
後は、景品交換所の絡みで防犯とか世間体を気にして裏に出入り口があるとか。
>吉牛コピペのノリをゲーセンに求めてはいかんのです。
あぁ、吉野家に今まで一度も入った事が無い女の子って結構いますからね。
女性には敷居が高いようです。逆に言えば、女性客をどうやって取り込むか?が
販売戦略上重要だとか。
後発の松屋やスキヤは、女性客にも利用しやすい店内内装とかに気を使ってるそうですね。
重箱の隅な話で失礼。 - ゲーセンはデートコース by mieki256 2006/03/03 15:06
- > ああいうゲーセンは「デートコース」になることを期待している
あー。そうか、そういうことか…。
考えてみれば、郊外型のスーパーに隣接してるゲーセンだから、
家族向けとか考慮してそうですな。当然品揃えもそういう方向になるわなぁ… - 駐車場と建屋と隣接道路の関係 by mieki256 2006/03/03 16:20
- > 下手に正面の道路に出入り口を作ると交通の流れが乱れるので、
> あえて一本裏から入らないと入れれない駐車場とか、わりとあります。
膝を叩きました。そういうことか。その可能性はありそうですな。
そのへんって、企業の持ってるノウハウっぽいなぁ…。
[ ツッコミを読む(4) | ツッコむ ]
#3 [nitijyou] 携帯を撃ってる場所で店員さんに尋ねてみた
ロックタウンのデンコードーで、携帯を売ってるエリアがあったので、店員さんに、「今、DoCoMo の N505 ってありますか?」「新規契約はできますか?」と尋ねてみた。…無理だと言われた。既に市場に在庫はないのだとか。オークションで入手するしかないだろう、とも言われた。なるほど、そういう状況なのね…。
検証用に機種が入手できない状況では、iアプリを開発する人とかも困っちゃう予感。
検証用に機種が入手できない状況では、iアプリを開発する人とかも困っちゃう予感。
[ ツッコむ ]
#4 [digital] デンコードーのビデオデッキコーナーを眺めて、悩む
手元にあるビデオテープや、レンタルビデオ再生用に、1台確保しておいたほうがいいのかなと思いつつ眺めてみたり。今は1万前後の機種しか置いてない状況なのね…。
店員さんが話かけてきたので、試しに、「S-VHS機って今も売ってたりします?」と尋ねたら、首をブンブンと横に振りながら「完全に売ってません」との返事。だよねえ。 *1 さておき、SONYの機種を薦められた。端子が金メッキなのだとか。うわー。そういう次元になってるの? TBCとか3DNRとか、そういうのも無しか。本当に終わってしまったジャンルなんだな。 *2
店員さんが話かけてきたので、試しに、「S-VHS機って今も売ってたりします?」と尋ねたら、首をブンブンと横に振りながら「完全に売ってません」との返事。だよねえ。 *1 さておき、SONYの機種を薦められた。端子が金メッキなのだとか。うわー。そういう次元になってるの? TBCとか3DNRとか、そういうのも無しか。本当に終わってしまったジャンルなんだな。 *2
[ ツッコむ ]
#5 [nitijyou] 疲れた。寝る。
自転車で2往復したら疲れた。体力落ちてる。寝ます。
[ ツッコむ ]
2005/02/27(日) [n年前の日記]
#1 [digital] _失敗しない、液晶ディスプレイの選び方
記事によると、
は欲しいらしい。自分、液晶については無知なので、メモ。
輝度 | 400cd/m2以上 |
---|---|
コントラスト比 | 400:1以上 |
応答速度 | 16ms以下 |
入力系統 | アナログ+デジタル |
[ ツッコむ ]
#2 [digital] _傾向的な不具合ではないとされるVAIO LXと不可解な横線達。
SONY製PCの液晶で、不具合が多発してるらしい。設計ミスらしいのだけど、有償修理なのだそうで。…SONY様には逆らえませんな。
_(via Crohn Life - 2005/02/24の項)
◎ _値動き激しい春モデルPC、9万9800円のVAIOは1週間で売り切れ! :
SONYのそういう姿勢を客が肯定してる、ということかもしれないな。サポートより、値段の安さ、と。
[ ツッコむ ]
#3 [jiji] _森昭雄教授,講演で「ゲームが原因で自閉症になる」発言
自閉症は先天的なものなわけで…。なんつーか…。
[ ツッコむ ]
#4 [anime] _劇場で一体何が起こっているのか!?
何が起こってるのだ。
_(via めっつぉ:スクウェア&デジタルニュース)
[ ツッコむ ]
#5 [anime][neta] コマ数を表示できるストップウオッチについて妄想
1/60秒にも対応させて、ゲーム業界に売り込めないものかしら。一気に市場が広がったりしないかと。
ついでに、アニメオタク相手にも売り出さないかしら。そのままじゃ訴求力がないだろうから、金田伊功、板野一郎、あるいは、富野監督、押井監督、等、業界の有名人のサインを印刷 *1 してアニメイトとかコミケとかで売る。富野監督バージョンなんかは、サインと一緒に、「コンテ千本切り! 君は!」とか書いてあったりもして。ウホっ。カッコイイ!<えっ?
でも、さすがに1個2万円じゃアニオタ相手にも厳しい。ので、市場が拡大することを見込んで\2,980とか\3,980ぐらいで売ることにして。そのぐらいの価格なら、映像業界・アニメ業界・ゲーム業界・アニメオタクにも、どかんと普及するから元が取れる…。
無理があるか。
ついでに、アニメオタク相手にも売り出さないかしら。そのままじゃ訴求力がないだろうから、金田伊功、板野一郎、あるいは、富野監督、押井監督、等、業界の有名人のサインを印刷 *1 してアニメイトとかコミケとかで売る。富野監督バージョンなんかは、サインと一緒に、「コンテ千本切り! 君は!」とか書いてあったりもして。ウホっ。カッコイイ!<えっ?
でも、さすがに1個2万円じゃアニオタ相手にも厳しい。ので、市場が拡大することを見込んで\2,980とか\3,980ぐらいで売ることにして。そのぐらいの価格なら、映像業界・アニメ業界・ゲーム業界・アニメオタクにも、どかんと普及するから元が取れる…。
無理があるか。
*1: サインを印刷したシールを張るだけ。
[ ツッコむ ]
#6 [prog] LLで1秒未満を取得する方法
ちょっと気になったので検索。
◎ Perlなら :
_Time::HiResモジュール
で取得できる、のかな?
◎ Pythonなら :
_『Windows 版の time.time() は精度が悪い』
なる記事が参考になりそうな。time.clock() とやらを使うらしい。が、なんか精度について色々と違いがあるらしく。よく読んでみないと。
◎ Rubyなら :
_tv_usec
とやらを使う…のかしら。
ちと気になるのは、Ruby のMLらしきところで、 _WinNTは10msでみな同じ精度 という話が出てること。 _Time::HiResから流用 とのことなので、Perl と Ruby は精度が10msになるのであらうか。となると、Windows版 *1 においては Python のほうが精度に関してはまだ期待できる、ということかしら。…や。まだ関連ページをちゃんと読んでないので誤解してる可能性も。
ちと気になるのは、Ruby のMLらしきところで、 _WinNTは10msでみな同じ精度 という話が出てること。 _Time::HiResから流用 とのことなので、Perl と Ruby は精度が10msになるのであらうか。となると、Windows版 *1 においては Python のほうが精度に関してはまだ期待できる、ということかしら。…や。まだ関連ページをちゃんと読んでないので誤解してる可能性も。
*1: linux のほうは、Windows と比べて、より精度の高い測定ができる(らしい)。
[ ツッコむ ]
2004/02/27(金) [n年前の日記]
#1 [windows] ホームページビルダーの「リンクエラー」
親父さんからホームページ作成について相談を受けた。『ホームページビルダー(以下HPB)による自サイト管理が、さっぱりわけのわからない状態になったので、サーバ上から自サイト構成ファイルを全てDLして作業をやり直したい』との事。HPBのFTPツールを利用して、サーバから全ファイルを、ローカルの新規フォルダ内にDLするよう指示。DL後、HPBで新たなサイト設定作成を指示し、DLしたファイルによるサイト構成の状態を確認させたところ、1ファイル、リンクエラーとしてリストアップされた。該当ファイルの内容を確認したが、本来であれば必要ないファイル――誤って全く関係ないフォルダに保存されたファイルだと判った。だが、該当ファイルが、どこからもリンクされている様子がない。…おかしい。
リンクエラーファイルとして検出されたということは、HPBが、そのファイルを、「サイト構成に必要なファイル」として認識してるということで。そのように認識される為には、どこかのhtmlが該当ファイルをリンクしている必要がある。しかし、どのhtmlがリンクしてるのか、そこがさっぱりわからない。2時間ほど、親父さんと二人、エクスプローラの検索機能や、HPBのサイト/素材ビューで色々探してみたが、該当ファイルをリンクしてるhtmlの居場所は掴めず。もしやサイトが大きすぎて、 *1 HPBの管理できる限界を超え異常動作してるのでは。などと思い始めたところで、「転送対象ファイル」と「未使用ファイル」の一覧を眺めていて、ようやくミスに気付いた。
そもそも前提条件が間違っていた。リンクエラーチェックの対象となるファイルは、HPBが「サイトに必要なファイル」として認識したファイルではない。HPBは、サイト設定で指定されたフォルダ中の全てのhtmlに対して、リンクエラーがあるかどうかをチェックする。 *2 どこかのhtmlからリンクされているかどうか、つまり「必要なファイル」として認識されてるかどうかは、リンクエラーの検出処理には関係がなかった。
該当ファイルは孤立したファイルだった。リンクしてるhtmlが見つかるはずがない。該当ファイルを削除して問題は解決。
…要するに、誤った前提条件を事実だと思い込んでしまったことによって、しなくてもいい苦労をしてしまったわけで。思い込みの恐ろしさ(?)を再確認。
リンクエラーファイルとして検出されたということは、HPBが、そのファイルを、「サイト構成に必要なファイル」として認識してるということで。そのように認識される為には、どこかのhtmlが該当ファイルをリンクしている必要がある。しかし、どのhtmlがリンクしてるのか、そこがさっぱりわからない。2時間ほど、親父さんと二人、エクスプローラの検索機能や、HPBのサイト/素材ビューで色々探してみたが、該当ファイルをリンクしてるhtmlの居場所は掴めず。もしやサイトが大きすぎて、 *1 HPBの管理できる限界を超え異常動作してるのでは。などと思い始めたところで、「転送対象ファイル」と「未使用ファイル」の一覧を眺めていて、ようやくミスに気付いた。
そもそも前提条件が間違っていた。リンクエラーチェックの対象となるファイルは、HPBが「サイトに必要なファイル」として認識したファイルではない。HPBは、サイト設定で指定されたフォルダ中の全てのhtmlに対して、リンクエラーがあるかどうかをチェックする。 *2 どこかのhtmlからリンクされているかどうか、つまり「必要なファイル」として認識されてるかどうかは、リンクエラーの検出処理には関係がなかった。
該当ファイルは孤立したファイルだった。リンクしてるhtmlが見つかるはずがない。該当ファイルを削除して問題は解決。
…要するに、誤った前提条件を事実だと思い込んでしまったことによって、しなくてもいい苦労をしてしまったわけで。思い込みの恐ろしさ(?)を再確認。
[ ツッコむ ]
#2 [zatta] 『ていうか』
_「DQN言葉と思考への影響」
を読んだら、最近の自分が『ていうか』を使いすぎてる事にふと気付いてしまった。マズイ。コレはマズイ。これではDQNではないか。
◎ 本当に使いすぎてるのだろうか :
単に気のせいだったりはしないか。と思ったので、試しに、今まで書いてきた*.hnfに対し、『ていうか』でgrepをかけてみた。320行がヒット。一行につき2〜4個は入ってるようなので大雑把に見積もって大体1000箇所ほど使ってることになる。つまり、気のせいではなくて、使い過ぎは事実だった。ガックリ。また、Webで日記を書き始めた当時から、頻繁に『ていうか』を用いていた事まで判明してしまった。DQN確定。ちなみに、『つーか』も『ていうか』の代わりによく使う。これもgrepをかけてみたら、85行がヒット。一行につき3個使ってるとすれば大体256箇所で使ってる。ますますDQN確定。
◎ DQN文章度測定 :
文章のDQNぶりを数値化できないか。自分がこの数年間で書いたWeb日記の文章量は、2,724,734 byte。その中にある『ていうか』(4x2byte=8byte)と『つーか』(3x2byte=6byte)の合計byte数は、8x1000 + 6x256 = 9,536 byte。つまり、出現割合は、0.350%。うむ。数値化の可能性が見えてきた。しかしそもそも何%以下ならDQNじゃないと判断すればいいのか。その基準がないと数値だけ出しても意味がないわけで(爆)
文章のヲタクぶりも数値化できるかもしれない。『(爆)』『(笑)』『(^^;』を使って計算すればいい。しかしその場合も、基準となる数値が存在しないから意味がないか。
どこかに、DQNデフォルト、ヲタクデフォルトな人間が居ないものだろうか。そういう人が居てくれたら基準値も計れそうなのだけど。…それじゃSFだ。昔、そういうSF話を聞いた記憶が。何から何まで完全に平均値の人間が居て、企業が商品企画開発のリサーチに使おうとして躍起になる、といった話。
文章のヲタクぶりも数値化できるかもしれない。『(爆)』『(笑)』『(^^;』を使って計算すればいい。しかしその場合も、基準となる数値が存在しないから意味がないか。
どこかに、DQNデフォルト、ヲタクデフォルトな人間が居ないものだろうか。そういう人が居てくれたら基準値も計れそうなのだけど。…それじゃSFだ。昔、そういうSF話を聞いた記憶が。何から何まで完全に平均値の人間が居て、企業が商品企画開発のリサーチに使おうとして躍起になる、といった話。
◎ 『ていうか』も『つーか』も使う時には一応意識はしてるのですが :
直前まで書いていた文章から連想した内容で、それでいて直前の文章内容とは明確に繋がらない感のある内容を書こうとする際、『ていうか』『つーか』で繋げていたり<実質的には繋がってないけど。本来であれば、『そういえば』『それはさておき』『それはそれとして』等で繋ぐべきではないかと、書いてる際には常に思いつつも、『ていうか』の方が文字数が少ない事と、文を短くしようと心掛けてる事もあって、ついつい『ていうか』を使ってしまいがち。
*1
繋げる内容が長くなる時は、hnfフォーマットの『SUB』を使って、項目を分けるよう心掛けてはいるものの、しかし最近は、明確に区切りを入れず、どんな内容でも一緒くたにしてダラダラ繋いで一行にしてしまう形もなんとなく好きで、『ていうか』の多用を後押ししてる面もあり。
などと言い訳や分析の真似事をしてみたところで、眺めた際にDQNの文章に見えることに変わりはない。トホ。何にせよ、これからは気をつけねば。…いや。どうせ元々DQNだし。今更嘆いたり反省する必要もないか (;´Д`)
繋げる内容が長くなる時は、hnfフォーマットの『SUB』を使って、項目を分けるよう心掛けてはいるものの、しかし最近は、明確に区切りを入れず、どんな内容でも一緒くたにしてダラダラ繋いで一行にしてしまう形もなんとなく好きで、『ていうか』の多用を後押ししてる面もあり。
などと言い訳や分析の真似事をしてみたところで、眺めた際にDQNの文章に見えることに変わりはない。トホ。何にせよ、これからは気をつけねば。…いや。どうせ元々DQNだし。今更嘆いたり反省する必要もないか (;´Д`)
◎ 『ていうか』の代わりに改行を入れたほうがいいのかもしれないけど :
改行を入れるとページが上下に長くなるので、一記事あたりの量が多いような印象を画面から受けてしまい、読む気が失せるのではないかと想像したりもする。それもあって、極力、一記事が小さな1ブロックとして目に入るよう、改行を避け、文を詰めて記述していたりもするのだけど。しかし、文章がギッチリ詰まって書かれていると、今度は読みにくくなってしまう。難しい。
◎ 多くを語れば聞き流されるし、言葉が少なければ誤解される :
結局のところ、文字数やページ上下幅を意識しすぎるが故のこういった工夫・試みも、「誤解無く伝えようとして多くを語れば、相手に面倒臭がられてそもそも読まれない」
*2
「読んでもらおうとして言葉を少なくすれば、相手に誤解される」という、∀のOP収録の際に富野監督がヒデキから諭されたらしい言葉の問題にどこかで集約してしまうのかもしれない、などとぼんやり思ったりもする。
*3
[ ツッコむ ]
#3 [ore_xxxxx] 夢で好みのタイプをようやく認識することもあるのだな
夢の中に出てきた女性に胸キュン<古。ゴツイ眼鏡かけて黒髪の長髪でジーンズ姿で男言葉と女言葉が半々ぐらいで寡黙な感じだけど飲み会でふと思いついたように大人数の後輩連中を前に難解な言葉も軽やかに操りつつ演説を振るい店内の全ての客から拍手と歓声でもって称えられたりその後あらかた酔い潰れてしまった後輩達をテキパキと人数分けして次々とタクシーに送り込む采配ぶりで普段は周囲から「イインチョ」
*1
と呼ばれて慕われて頼りにされてる、そんな女性だった。そうか。オイラはそういうタイプが好みだったのか。知らなかった。もっとも昔から「姐さん」タイプには弱い感も。…自分に画力があればぜひとも絵に残しておきたいところなのに。役に立たないこの右腕が疎ましい。
後から考えてみれば、このキャラ、フィー姉さんっぽいな。「…安西先生…フィー姉さんと一緒にツレモクしたいです…」「諦めなさい、もう試合終了だよ」 ガーン
何をイイ歳してくだらねえ寝言をダラダラと恥ずかしげもなく書いてますかねこの人は。
後から考えてみれば、このキャラ、フィー姉さんっぽいな。「…安西先生…フィー姉さんと一緒にツレモクしたいです…」「諦めなさい、もう試合終了だよ」 ガーン
何をイイ歳してくだらねえ寝言をダラダラと恥ずかしげもなく書いてますかねこの人は。
*1: ひらがなの「いいんちょ」でもなく、漢字の「委員長」でもなく、カタカナの「イインチョ」。
[ ツッコむ ]
#4 [zatta] _あなたの「うつ度」を判定
診断の結果、あなたの得点は 63 ポイントでした。ガーン。あ、安西先生… <それはもうええっちゅーに。もう少しいい結果が出る事を期待してたのだけどな。正直予想外。毎日しょーもないバカ話を書いて陽気に振舞ってみたところでこれですか。トホ。しかしこの結果は、普段の発言内容とこの手の症状の重さを分離して判断する必要がある事を示しているのかもしれない。真っ当な事を言えてたら問題ないとも限らないし、病気になったら真っ当な事を言えなくなるわけでもなく、個々の症例や別の事柄から判断していく必要があるということなのだろうな。しかし、ちんこだのペニスだの口にしてるこの状態が真っ当な事を言えてる状態と自ら称してしまうのはいかがなものか。…誤解なきよう言っておくけど「ちんこだのペニスだの口にしてる」というのはそういう意味じゃなく。自分は体硬いので無理です。…私は今何を喋ってますか。 _(from A Way Out)
すぐに自宅安静か入院が必要となる可能性があるレベルです。自分ひとりで抱えずに専門医に相談してください。医者を信じて頂ければきっと元の元気な先生に戻してあげられると思います。
[ ツッコむ ]
2003/02/27(木) [n年前の日記]
#1 石田監督担当話の555
石田監督担当話の555におけるレーザーポインタ発射時直前のカット挿入に感心。
_≫
六角大王を起動したら調子が出てきてBlenderまで起動。フリー版六角大王は突然落ちて怖い。Blenderはポイント編集時の十字カーソル色が背景色と同じグレーなのでカーソル位置がわかりづらい。G400のせいかもしれないのだが。せめて各種編集時画面の背景色を自由に設定できないものか。
六角大王を起動したら調子が出てきてBlenderまで起動。フリー版六角大王は突然落ちて怖い。Blenderはポイント編集時の十字カーソル色が背景色と同じグレーなのでカーソル位置がわかりづらい。G400のせいかもしれないのだが。せめて各種編集時画面の背景色を自由に設定できないものか。
[ ツッコむ ]
#2 [anime] 555のレーザーポインタ発射
555。石田監督担当話の戦闘シーンにおいてようやくソーセージCMよりカッコイイ555の映像を拝めた。これぞモンタージュ技法の活用。カメラ位置の工夫やカメラ移動の活用によるダイナミックなレイアウト。そしてなにより、ライダーキックにおけるレーザーポインタ発射時カット前の細かい工夫に感心。
555の戦闘方向やキックを打つ方向は「右→左」を基本としているが、レーザーポインタ発射時カットのみ、装置が右足についている関係上、向きが「左→右」と突然反転してしまう。田崎・長石監督担当の555においては無頓着に件のカットを挿入していたが故に状況説明としては観客を混乱させかねない致命的ミスを犯していたが、今回は発射時カット直前に空中で回転する555のカットを極めて短く、「正面」x2→「左→右」x2と挿入することでカットの繋がりの不自然さを解消。(発射カット直後、「右→左」「正面」「右→左」と向きが戻るが、それらカットにおいては、表示時間が比較的長い、構図が判り易い等、観客が状況を認識し易い性質のカットなので問題は無い。) 監督自身が戦闘シーンの演出までしているのかどうかは知らないが、とにかく今回の一連のシーンを作った方の手腕は見事。感服。
もっともそういった工夫に気づいたのは、以前の話数においてミスを犯していたから。田崎監督担当の第2話において最初からこの繋がりを見せられていたらそういう問題が内在していることにも気づかなかったはず。そしておそらく気づかずに眺めてしまっている様々な工夫が既に存在しているであろうことを想像するとそれら映像制作に携わる人々に対し尊敬の念を抱かずにはいられない。
とか書いたけど龍騎のように後から事実を思い知らされて悲しくなる可能性もあるのであらかじめ自分の中に予防線を引いておく。アレは工夫ではなくて偶然かもしれない。
555の戦闘方向やキックを打つ方向は「右→左」を基本としているが、レーザーポインタ発射時カットのみ、装置が右足についている関係上、向きが「左→右」と突然反転してしまう。田崎・長石監督担当の555においては無頓着に件のカットを挿入していたが故に状況説明としては観客を混乱させかねない致命的ミスを犯していたが、今回は発射時カット直前に空中で回転する555のカットを極めて短く、「正面」x2→「左→右」x2と挿入することでカットの繋がりの不自然さを解消。(発射カット直後、「右→左」「正面」「右→左」と向きが戻るが、それらカットにおいては、表示時間が比較的長い、構図が判り易い等、観客が状況を認識し易い性質のカットなので問題は無い。) 監督自身が戦闘シーンの演出までしているのかどうかは知らないが、とにかく今回の一連のシーンを作った方の手腕は見事。感服。
もっともそういった工夫に気づいたのは、以前の話数においてミスを犯していたから。田崎監督担当の第2話において最初からこの繋がりを見せられていたらそういう問題が内在していることにも気づかなかったはず。そしておそらく気づかずに眺めてしまっている様々な工夫が既に存在しているであろうことを想像するとそれら映像制作に携わる人々に対し尊敬の念を抱かずにはいられない。
とか書いたけど龍騎のように後から事実を思い知らされて悲しくなる可能性もあるのであらかじめ自分の中に予防線を引いておく。アレは工夫ではなくて偶然かもしれない。
[ ツッコむ ]
2002/02/27(水) [n年前の日記]
#1 高機能
明日、NHK総合、PM11:00〜PM11:50、TRに、富野監督が出るのですね〜
楽しみ〜
案の定、親父さん、HPB v6.5を持て余してます。
HTMLを作るために、ソフトの使用法を再度勉強…
目的は、HTMLを作る事であって、特定ソフトの独自操作を習得することではないはずですが。
近道歩いたつもりが遠回りしてる気がする。
「どこでも配置モード」を「初心者向け」と称してるのが気になる>HPB
むしろ、「上級者向け」と称すべきではないかな。
なんでも出来る=初心者向けじゃないと思う。
制限を加え、意識する項目を少なくすることのほうが、初心者向けなのでは。
デジカメ話をだらだらだら _(以下略)
楽しみ〜
案の定、親父さん、HPB v6.5を持て余してます。
HTMLを作るために、ソフトの使用法を再度勉強…
目的は、HTMLを作る事であって、特定ソフトの独自操作を習得することではないはずですが。
近道歩いたつもりが遠回りしてる気がする。
「どこでも配置モード」を「初心者向け」と称してるのが気になる>HPB
むしろ、「上級者向け」と称すべきではないかな。
なんでも出来る=初心者向けじゃないと思う。
制限を加え、意識する項目を少なくすることのほうが、初心者向けなのでは。
デジカメ話をだらだらだら _(以下略)
[ ツッコむ ]
#2 [digital] デジカメ話だらだらだら
私のデジカメのCCD、ぶっ壊れたみたい(号泣
レンズに蓋をして光量を全く入れずに撮ると、変なところに白い点が。
しかも毎回同じ場所…
液晶のドット欠けかと思ったけど、PCで読み込んでも残ってるんで、CCDですわ。
過去の撮影画像を眺めてみたら、遅くとも去年の9月には、こういう状態になってたみたい。
CCD自体は、結構ノイズが出るもんらしいですね。
昔、DOS/Vマガジンあたりで読んだんですが、どこぞのメーカーのデジカメは、
「撮影する直前に光量無しで撮影」
→「CCDの出すノイズを検出」
→「実風景を撮影」
→「前述のノイズ情報を利用してノイズ削減」
という処理をしてるらしく。
これは「撮影するたびノイズの位置や量が変わる」からやってるわけで。
とすると、毎回必ず同じ場所にノイズが出てる当方のデジカメは…
既にある種の末期的状態なのではないのか。アハ〜ン
修理に出す気は…起きないなぁ。
修理費あったら、別のデジカメ(中古でも可)を買いたいものデス。
前述のノイズ削減方法…
Photoshopで、同様の処理ができないかな。
CCDに結構なノイズが乗るなら…
スキャナなんかでも乗るのかな?
とすれば、数回スキャンして、それらを加算して割れば…
ビデオ関係でよくある、時間軸方向を利用したノイズ除去みたいな…
それでノイズ削減ができるだろうか。
_松下からこんなの出てた のか…
昨日買ってきたのはなんだったんだ…ウエーン (;TДT)
充電池って、店頭での取り扱いに偏りがあって困る。
特定のメーカ品だけ置いてたり、古いのを置いてたり。
レンズに蓋をして光量を全く入れずに撮ると、変なところに白い点が。
しかも毎回同じ場所…
液晶のドット欠けかと思ったけど、PCで読み込んでも残ってるんで、CCDですわ。
過去の撮影画像を眺めてみたら、遅くとも去年の9月には、こういう状態になってたみたい。
CCD自体は、結構ノイズが出るもんらしいですね。
昔、DOS/Vマガジンあたりで読んだんですが、どこぞのメーカーのデジカメは、
「撮影する直前に光量無しで撮影」
→「CCDの出すノイズを検出」
→「実風景を撮影」
→「前述のノイズ情報を利用してノイズ削減」
という処理をしてるらしく。
これは「撮影するたびノイズの位置や量が変わる」からやってるわけで。
とすると、毎回必ず同じ場所にノイズが出てる当方のデジカメは…
既にある種の末期的状態なのではないのか。アハ〜ン
修理に出す気は…起きないなぁ。
修理費あったら、別のデジカメ(中古でも可)を買いたいものデス。
前述のノイズ削減方法…
Photoshopで、同様の処理ができないかな。
CCDに結構なノイズが乗るなら…
スキャナなんかでも乗るのかな?
とすれば、数回スキャンして、それらを加算して割れば…
ビデオ関係でよくある、時間軸方向を利用したノイズ除去みたいな…
それでノイズ削減ができるだろうか。
_松下からこんなの出てた のか…
昨日買ってきたのはなんだったんだ…ウエーン (;TДT)
充電池って、店頭での取り扱いに偏りがあって困る。
特定のメーカ品だけ置いてたり、古いのを置いてたり。
[ ツッコむ ]
2001/02/27(火) [n年前の日記]
#1 物忘れ
日記に、「コレを書こう」と思ってたはずなんだけど。忘れた。
どうも最近、すぐ忘れてしまう。
まあ、忘れるぐらいだからたいした内容じゃないんだろう。
たぶん。
思い出した。
プロジェクトXが面白かった、ってことだ。
…やっぱりたいした内容じゃなかったか。
電気炊飯器の開発話だったんだけど。
ご飯がおいしく炊けるときの温度変化を最初に調査、ってのに感心。
まずはデータを集める、というモノの考え方が技術者らしい。
そういや、米をとぐ作業を自動化できないかな。
実現できたら売れそう。炊飯器と一体化してもいいかも。
と思ったら。
今、とがないでそのまま炊ける米って売ってるのね。値段高いらしいけど。
一攫千金のチャンスが潰えた。チッ
なんか他に書くことあったと思ったんだけどな。
なんだったかな。
どうも最近、すぐ忘れてしまう。
まあ、忘れるぐらいだからたいした内容じゃないんだろう。
たぶん。
思い出した。
プロジェクトXが面白かった、ってことだ。
…やっぱりたいした内容じゃなかったか。
電気炊飯器の開発話だったんだけど。
ご飯がおいしく炊けるときの温度変化を最初に調査、ってのに感心。
まずはデータを集める、というモノの考え方が技術者らしい。
そういや、米をとぐ作業を自動化できないかな。
実現できたら売れそう。炊飯器と一体化してもいいかも。
と思ったら。
今、とがないでそのまま炊ける米って売ってるのね。値段高いらしいけど。
一攫千金のチャンスが潰えた。チッ
なんか他に書くことあったと思ったんだけどな。
なんだったかな。
[ ツッコむ ]
2000/02/27(日) [n年前の日記]
#1 (NoTitle)Pixiaなるフリーソフ...
_Pixia
なるフリーソフトのお絵描きツールを試用してみたり。雑誌「WinGraphic」での紹介記事を目にしてからというもの、ずっと気になっていたのです。
感想ですが、想像してた以上に使いやすいですね。各機能がそんなにわかりづらくないし、動作も重くない。Web用のイラストサイズ程度なら充分使えそう。
とりあえず試しに _こんなの 描いてみました。ちなみにマニュアルは読んでないです(つーかインストールしたらヘルプファイルが入って無かった…)。タブレットで下書きからいきあたりばったりで描いたせいか、線がへろへろ〜んの上に、背景と合成する際のジャギー(?)の消し方がわからず、かなり汚い仕上がりになってしまったのでここでのみ公開(後悔)デス。
感想ですが、想像してた以上に使いやすいですね。各機能がそんなにわかりづらくないし、動作も重くない。Web用のイラストサイズ程度なら充分使えそう。
とりあえず試しに _こんなの 描いてみました。ちなみにマニュアルは読んでないです(つーかインストールしたらヘルプファイルが入って無かった…)。タブレットで下書きからいきあたりばったりで描いたせいか、線がへろへろ〜んの上に、背景と合成する際のジャギー(?)の消し方がわからず、かなり汚い仕上がりになってしまったのでここでのみ公開(後悔)デス。
[ ツッコむ ]
1999/02/27(土) [n年前の日記]
#1 (NoTitle)従兄がパソコンを触り...
従兄がパソコンを触りに遊びにきました。
子供(3歳と2歳)と一緒に来たのですが、いやー、このくらいの年齢の子供って大変ッスね。
何をしでかすかわからなくて目が離せません。でも見てて飽きないなぁ。
ほほうそんな事をするとは、みたいな想像つかない事を色々やり始めるので面白いです。
(でも毎日コレじゃ疲れちゃうよな。)
で、従兄のほうはパソコンでネットサーフィンをして、やたら「凄い凄い」と感心してました。
そうゆう反応を見るのもなんだか新鮮な感じです。
キャプチャボードを組み込んで動かしてみました。
うわ〜、画質悪〜。
ゲロゲロ。しばらく使っているとWindowsが落ちるよ。
なんじゃ、この付属のムービーソフト。Win3.1のアプリですか。
げ、AVIファイルを読みこむと固まるよ。どひー。
…まあ、1万ちょっとの値段なので仕方ないところでしょう。
後はハードスペックを上げてけばもう少しはマシに動作するのかもしれません。
[ ツッコむ ]
以上、26 日分です。
昔からあるエディタは、(元の作成者と閲覧者が違ってたりで)
基本的に編集禁止で閲覧するだけ(ページャーLess,Lvみたいな使い方)と
編集する(Vimとか)の2段階のモードがあるって感じ。
Vimは、慣れると難しくないし 他の系列のプログラム コマンドに応用が利くよ。
:r!DOSのコマンド
とかで編集中ファイルの現在のカーソル位置に実行結果を反映するとかあるので それを覚えるとかなり考え方が変わる。
もともとラインエディタだから一行ごとに対しての編集が強いけど、
複数行を行中の中途半端な位置からカットやコピーとかは、苦手なエディタね。