mieki256's diary



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

#1 [pc] 昨今のCPUとチップセットについて少しググってたり

昨今のメジャーなCPUとチップセットについて全く知らないので少しググってたり。AMD Ryzen の評判がいいらしいけど、どのチップセットなら最新版が動くのだろう、みたいなところから。

Intel製CPUは脆弱性が見つかって、その脆弱性に対策しようとしてパフォーマンスが落ちたという話を聞くわけで。いずれハードウェア的に対策された版が出てくるのだろうけど、それまではその手の影響をさほど受けないAMD製CPUのほうがいいのかなと…。

#2 [web] なぜblogを消すのだろう

Web上で時々見かける風景ではあるけれど。せっかく書き溜めたblogを、何故消すのだろう…。

Webを利用してきた者ならば、リンクをクリックしたら404だった時の哀しみを何度も何度も味わっているはずなのに。何故、人は、逆の立場になると、自身のblogをあっさり消してしまうのだろう。404を目にして悲しみに打ちひしがれたあの頃の自分を、そんなにも世界のどこかで、自らの手で何度も繰り返し再生産したいのだろうか。彼等は他者に対して哀しみを与える存在になりたいのか。一体、何に対して、誰に対して復讐しようとしているのか。みたいな。

そもそも、「blogは更新しなければ存在意義がない」と思い込むのがおかしい。記事に日付さえ ―― 年月日さえ記してあれば、書きっぱなし、ほったらかしのままで良いではないか。「この当時、この人は、こんなことを考えていたのだ」「この頃、こんなことが話題になっていたのだ」 ―― そういった記録にも十分価値がある事を私達は知っているはずではないか。「blog」とは何の略か。「Web のログ」の略だろう。「ログ」とは何か。記録のことだ。そこに記録として存在していれば、それはもう、それだけで、立派なblog。そう考えれば放置状態でいいではないか。頻繁な更新なんて新聞社やニュースサイトに任せておけばいい。それとも君は一人新聞社にでもなりたいのか。そういうわけでもないだろうに。

とは言え、例えば自身の愛用のブラウザからログインも書き込みもできない、以前と比べて劣化してしまったblogサービスに対し、無料利用ならまだしも、有料で契約して、小銭を払ってアカウントを維持し続けるのもフツーは馬鹿馬鹿しくなって当然という気もするし。「ちゃんと仕事しろよ。何やってんだよ」「あったまきた。お前達のサービスなんて金輪際使ってやらねえ」と怒りに任せて全削除、という展開もありそうではあるなと。

ログインできないという症状は、「俺はこいつらから拒否された」→「金を払ってるのに客扱いされてない」→「俺の存在が無視されてる」的感覚に繋がっていくし。人間誰しも存在を無視されるのが一番堪えるし、そこでつけられた心の傷は、いずれ恨みにすら容易に変化するわけで。そうやってアルファブロガーがポツポツと離れていくサービスに、はたして未来はあるのだろうか。

しかし、そういった気持ちの流れは理解できたとしても、それでも、本来blogは消す必要などないし、更新しないことを恥じる必要もないですよ、と言いたいのだけど。もちろん、サービスが消滅したとか、料金が払えなくなったとか、サーバのHDDが吹っ飛んだとか、何かの外的要因で消えてしまったなら話は別だけど。自分の手で消す必要はどこにも無いんだけどなあ。

でもまあ、やっぱり、消す人達は、きっと何かに復讐したいのだろう…。「どうだ! 消してやったぞ! 思い知れ!」と誰かに毒づきたくてそういうことをするのかもしれない。だけどおそらく、そんなことをしてみても、思い知らせてやりたい相手からは綺麗にスルーされて、藁にも縋る気持ちでググって飛んできた人達が404で泣く、そんな場面がほとんどであろう予感も。

ググって飛んできた人達には何の罪もないのだから、残せるなら残したほうが、と思うのだけどな。

あるいは、多くの先人達が残してくれた各種文献に助けられておきながら、自分の番が来たら全削除というのも、人として不義理じゃないかと思ったりもするわけで。放置しておくだけで、その手の義理は果たせるのに。どうして、放置以上のアクションをわざわざ取って、意地の悪い状態にしてしまうのだろう。そんなこと、しなくていいのに…。

2017/10/26(木) [n年前の日記]

#1 [raspberrypi][golang] Raspberry Pi Zero WにSDL2 + golang + go-sdl2をインストール

以下のページで、golang(Go言語)から SDL2 を扱える、go-sdl2 なるライブラリがあると知ったわけで。

_Golang と SDL2 でゲームを作る - KaoriYa

これを動かしてみて、すんなり動くようであれば、少なくともSDL2はちゃんとビルドされてることが分かるかもしれないなと。

ということで、Raspberry Pi Zero W + raspbian stretch 上でインストールを試みたり。

前提条件。libSDL2*.soの在り処。 :

標準状態というか、公式リポジトリから libsdl2-dev をインストールすると…。
  • /usr/include/SDL2/ 以下に *.h が、
  • /usr/lib/arm-linux-gnueabihf/ 以下に libSDL2*.so が、
それぞれ入ってる状態になる。

_Debian -- stretch の libsdl2-dev パッケージに関する詳細
_Debian -- パッケージのファイル一覧: libsdl2-dev/stretch/armhf
$ cd /usr/lib/arm-linux-gnueabihf/
$ ll *SDL2*
lrwxrwxrwx 1 root root      20 12月 28  2016 libSDL2-2.0.so -> libSDL2-2.0.so.0.4.1
lrwxrwxrwx 1 root root      20 12月 28  2016 libSDL2-2.0.so.0 -> libSDL2-2.0.so.0.4.1
-rw-r--r-- 1 root root 1019424 12月 28  2016 libSDL2-2.0.so.0.4.1
-rw-r--r-- 1 root root 1512430 12月 28  2016 libSDL2.a
lrwxrwxrwx 1 root root      20 12月 28  2016 libSDL2.so -> libSDL2-2.0.so.0.4.1
lrwxrwxrwx 1 root root      26  1月 27  2016 libSDL2_image-2.0.so -> libSDL2_image-2.0.so.0.0.1
lrwxrwxrwx 1 root root      26  1月 27  2016 libSDL2_image-2.0.so.0 -> libSDL2_image-2.0.so.0.0.1
-rw-r--r-- 1 root root   67316  1月 27  2016 libSDL2_image-2.0.so.0.0.1
-rw-r--r-- 1 root root   83874  1月 27  2016 libSDL2_image.a
lrwxrwxrwx 1 root root      26  1月 27  2016 libSDL2_image.so -> libSDL2_image-2.0.so.0.0.1
lrwxrwxrwx 1 root root      26  2月  2  2016 libSDL2_mixer-2.0.so -> libSDL2_mixer-2.0.so.0.0.1
lrwxrwxrwx 1 root root      26  2月  2  2016 libSDL2_mixer-2.0.so.0 -> libSDL2_mixer-2.0.so.0.0.1
-rw-r--r-- 1 root root  168932  2月  2  2016 libSDL2_mixer-2.0.so.0.0.1
-rw-r--r-- 1 root root  221600  2月  2  2016 libSDL2_mixer.a
lrwxrwxrwx 1 root root      26  2月  2  2016 libSDL2_mixer.so -> libSDL2_mixer-2.0.so.0.0.1
lrwxrwxrwx 1 root root      24  2月  2  2016 libSDL2_net-2.0.so -> libSDL2_net-2.0.so.0.0.1
lrwxrwxrwx 1 root root      24  2月  2  2016 libSDL2_net-2.0.so.0 -> libSDL2_net-2.0.so.0.0.1
-rw-r--r-- 1 root root   13828  2月  2  2016 libSDL2_net-2.0.so.0.0.1
-rw-r--r-- 1 root root   14674  2月  2  2016 libSDL2_net.a
lrwxrwxrwx 1 root root      24  2月  2  2016 libSDL2_net.so -> libSDL2_net-2.0.so.0.0.1
-rw-r--r-- 1 root root  220602 12月 28  2016 libSDL2_test.a
lrwxrwxrwx 1 root root      20  2月  8  2016 libSDL2_ttf-2.0.so -> libSDL2_ttf-2.0.so.0
lrwxrwxrwx 1 root root      25  2月  8  2016 libSDL2_ttf-2.0.so.0 -> libSDL2_ttf-2.0.so.0.14.0
-rw-r--r-- 1 root root   26124  2月  8  2016 libSDL2_ttf-2.0.so.0.14.0
-rw-r--r-- 1 root root   23446  2月  8  2016 libSDL2_ttf.a
lrwxrwxrwx 1 root root      25  2月  8  2016 libSDL2_ttf.so -> libSDL2_ttf-2.0.so.0.14.0
-rw-r--r-- 1 root root     936 12月 28  2016 libSDL2main.a

独自にビルドした *.so を使うということは、上記の場所ではなく、別の場所にある *.so を呼び出せるようにする、ということ。

SDL2のビルドに必要なパッケージをインストール。 :

以下を参考にしてSDL2をビルドする。

_Golang と SDL2 でゲームを作る - KaoriYa
_Hardware Accelerated SDL 2 on Raspberry Pi | Life, The Universe and ... Everything!

公式リポジトリ版の libsdl2-dev をアンインストール。
sudo apt-get remove -y --force-yes libsdl2-dev
sudo apt-get autoremove -y

SDL2のビルドに必要になりそうなパッケージをインストール。
sudo apt install build-essential libfreeimage-dev libopenal-dev libpango1.0-dev libsndfile1-dev libudev-dev libasound2-dev libjpeg-dev libtiff5-dev libwebp-dev libaudio-dev libdbus-1-dev automake libfontconfig-dev qt5-default mercurial libtool libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libxss-dev libesd0-dev freeglut3-dev libmodplug-dev libsmpeg-dev libmpg123-dev

また、以下を眺めて、必要になりそうなパッケージがあったら追加インストールする。

_Debian -- stretch の libsdl2-dev パッケージに関する詳細
_Debian -- stretch の libsdl2-image-2.0-0 パッケージに関する詳細 _Debian -- stretch の libsdl2-ttf-2.0-0 パッケージに関する詳細

SDL2のソースを取得。 :

mkdir ~/sdl2
cd ~/sdl2

wget https://www.libsdl.org/release/SDL2-2.0.7.tar.gz
wget https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.2.tar.gz
wget https://www.libsdl.org/projects/smpeg/release/smpeg2-2.0.0.tar.gz
wget https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.2.tar.gz
wget https://www.libsdl.org/projects/SDL_net/release/SDL2_net-2.0.1.tar.gz
wget https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.14.tar.gz

_Simple DirectMedia Layer - SDL version 2.0.7 (stable)
_SDL_image 2.0
_smpeg2
_SDL_mixer 2.0
_SDL_net 2.0
_SDL_ttf 2.0

SDL2をビルド。 :

SDL2のソースを解凍して、configure して、make して、sudo make install する。
tar zxvf SDL2-2.0.7.tar.gz
cd SDL2-2.0.7
mkdir build
cd build

configure は、以下のようなオプションをつけるらしいけど…。
../configure --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland --disable-video-x11 --disable-video-opengl

Pi2 の場合は、configure に「--host=armv7l-raspberry-linux-gnueabihf」を追加するらしい。

Pi1 や Zero は…。巷のページを見ると何もつけなくてもいいのかな。どうなんだろ。「SDL 2.0.4 は --host=arm-raspberry-linux-gnueabihf を指定しろ」と書いてある事例も見かけたけど…。

_PiLove - LOVE on RaspberryPI

とりあえず指定しておくか…。
../configure --host=arm-raspberry-linux-gnueabihf --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland --disable-video-x11 --disable-video-opengl

configure をすると、最後のあたりで以下のような表示になった。
SDL2 Configure Summary:
Building Shared Libraries
Building Static Libraries
Enabled modules : atomic audio video render events joystick haptic power filesystem threads timers file loadso cpuinfo assembly
Assembly Math   :
Audio drivers   : disk dummy oss alsa(dynamic) nas(dynamic)
Video drivers   : dummy rpi opengl_es1 opengl_es2 vulkan
Input drivers   : linuxev linuxkd
Using libsamplerate : NO
Using libudev       : YES
Using dbus          : NO
Using ime           : YES
Using ibus          : NO
Using fcitx         : NO
Video drivers に、rpi とか opengl_es2 があるから…これで合ってるのかな…?

makeしてインストールする。
make
sudo make install
  • /usr/local/include/SDL2/ 以下に *.h が、
  • /usr/local/lib/ 以下に libSDL2*.so が、
それぞれコピーされた。

他のSDL2関係もビルド。 :

SDL2_image, smpeg2. SDL2_mixer, SDL2_ttf もビルドする。
tar zxvf SDL2_image-2.0.2.tar.gz
cd SDL2_image-2.0.2 && mkdir build && cd build
../configure --host=arm-raspberry-linux-gnueabihf
make
sudo make install

インストール時、以下のようなメッセージが表示された。
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib
If you ever happen to want to link against installed libraries in a given directory,
LIBDIR, you must either use ibtool,
and specify the full pathname of the library,
or use the `-LLIBDIR' flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'
See any operating system documentation about shared libraries for more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
「/usr/local/lib にインストールされたよ」と言ってるのだな…。

smpeg2をビルドしてインストール。
tar zxvf smpeg2-2.0.0.tar.gz
cd smpeg2-2.0.0 && mkdir build && cd build
../configure --host=arm-raspberry-linux-gnueabihf
make

エラーが出る。
$ make
/bin/bash ./libtool  --tag=CXX   --mode=compile g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"smpeg2\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I..     -g -O2 -D_REENTRANT -I/usr/local/include/SDL2 -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -DTHREADED_AUDIO -DNDEBUG -Wall -I.. -DNOCONTROLS -I.. -I../audio -I../video -fno-exceptions -fno-rtti -MT hufftable.lo -MD -MP -MF .deps/hufftable.Tpo -c -o hufftable.lo `test -f 'audio/hufftable.cpp' || echo '../'`audio/hufftable.cpp
libtool: compile:  g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"smpeg2\" -DVERSION=\"2.0.0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -I. -I.. -g -O2 -D_REENTRANT -I/usr/local/include/SDL2 -I/opt/vc/include -I/opt/vc/include/interface/vcos/pthreads -I/opt/vc/include/interface/vmcs_host/linux -DTHREADED_AUDIO -DNDEBUG -Wall -I.. -DNOCONTROLS -I.. -I../audio -I../video -fno-exceptions -fno-rtti -MT hufftable.lo -MD -MP -MF .deps/hufftable.Tpo -c ../audio/hufftable.cpp  -fPIC -DPIC -o .libs/hufftable.o
../audio/hufftable.cpp:587:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned int’ inside { } [-Wnarrowing]
};
^
../audio/hufftable.cpp:587:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned int’ inside { } [-Wnarrowing]
../audio/hufftable.cpp:587:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned int’ inside { } [-Wnarrowing]
../audio/hufftable.cpp:587:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned int’ inside { } [-Wnarrowing]
../audio/hufftable.cpp:587:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned int’ inside { } [-Wnarrowing]
../audio/hufftable.cpp:587:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned int’ inside { } [-Wnarrowing]
Makefile:778: ターゲット 'hufftable.lo' のレシピで失敗しました
make: *** [hufftable.lo] エラー 1

解決策を探したら、以下に、参考になりそうな patch があった。

_FS#51926 : [smpeg][smpeg2] Build failed with gcc 6

参考にして以下のように修正。
--- smpeg2-2.0.0/audio/hufftable.cpp.orig	2017-10-26 05:31:28.825871428 +0900
+++ smpeg2-2.0.0/audio/hufftable.cpp	2017-10-26 05:35:28.618167063 +0900
@@ -9,6 +9,7 @@
 #include "config.h"
 #endif
 
+#include <climits>
 #include "MPEGaudio.h"
 
 static const unsigned int
@@ -550,11 +551,11 @@ htd33[ 31][2]={{ 16,  1},{  8,  1},{  4,
 
 const HUFFMANCODETABLE MPEGaudio::ht[HTN]=
 {
-  { 0, 0-1, 0-1, 0,  0, htd33},
+  { 0, UINT_MAX, UINT_MAX, 0,  0, htd33},
   { 1, 2-1, 2-1, 0,  7,htd01},
   { 2, 3-1, 3-1, 0, 17,htd02},
   { 3, 3-1, 3-1, 0, 17,htd03},
-  { 4, 0-1, 0-1, 0,  0, htd33},
+  { 4, UINT_MAX, UINT_MAX, 0,  0, htd33},
   { 5, 4-1, 4-1, 0, 31,htd05},
   { 6, 4-1, 4-1, 0, 31,htd06},
   { 7, 6-1, 6-1, 0, 71,htd07},
@@ -564,7 +565,7 @@ const HUFFMANCODETABLE MPEGaudio::ht[HTN
   {11, 8-1, 8-1, 0,127,htd11},
   {12, 8-1, 8-1, 0,127,htd12},
   {13,16-1,16-1, 0,511,htd13},
-  {14, 0-1, 0-1, 0,  0, htd33},
+  {14, UINT_MAX, UINT_MAX, 0,  0, htd33},
   {15,16-1,16-1, 0,511,htd15},
   {16,16-1,16-1, 1,511,htd16},
   {17,16-1,16-1, 2,511,htd16},
  • #include "MPEGaudio.h" の前に、#include <climits> を追加。
  • 「0-1」と書かれてる部分を、「UINT_MAX」で置き換え。

なんでエラーが出るのかなと思ったら、Debian stretch (raspbian stretch)は gcc6 が標準になったらしい。そのせいでエラーが出るっぽい。

_第5章 stretch で注意すべき点
_2016年6月28日 Debian 9 "Stretch"のコンパイラはGCC 6オンリーで:Linux Daily Topics|gihyo.jp … 技術評論社

引き続き make とインストール。
make
sudo make install
今度は通った。

SDL2_mixer をビルドしてインストール。
cd ~/sdl2
tar zxvf SDL2_mixer-2.0.2.tar.gz
cd SDL2_mixer-2.0.2 && mkdir build && cd build
../configure --host=arm-raspberry-linux-gnueabihf
make
sudo make install

SDL2_net をビルドしてインストール。
cd ~/sdl2
tar zxvf SDL2_net-2.0.1.tar.gz
cd SDL2_net-2.0.1 && mkdir build && cd build
../configure --host=arm-raspberry-linux-gnueabihf
make
sudo make install

SDL2_ttf もビルドしてインストールするのだけど、少し修正。OpenGLを使わないように修正してからビルドするのだとか。
cd ~/sdl2
tar zxvf SDL2_ttf-2.0.14.tar.gz
cd SDL2_ttf-2.0.14 && mkdir build && cd build
sed -i -e 's/have_opengl=yes/have_opengl=no/' ../configure
../configure --host=arm-raspberry-linux-gnueabihf
make
sudo make install

共有ライブラリを探す順番を変更。 :

SDL2をビルドして共有ライブラリファイルを作ったわけだけど、公式リポジトリ版のファイルが使われてしまったら困るわけで。

_Raspberry Piに最新版の各種ツール・言語・ライブラリをインストールする - Qiita

/etc/ld.so.conf を修正して、一番最初の行に /usr/local/lib を追加。これで、「最初に /usr/local/lib 以下から探すように」と設定できるはず。

キャッシュを更新。
sudo ldconfig

順番を確認。
$ ldconfig -p | grep SDL
        libSDL2_ttf-2.0.so.0 (libc6,hard-float) => /usr/local/lib/libSDL2_ttf-2.0.so.0
        libSDL2_ttf-2.0.so.0 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libSDL2_ttf-2.0.so.0
        libSDL2_net-2.0.so.0 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libSDL2_net-2.0.so.0
        libSDL2_mixer-2.0.so.0 (libc6,hard-float) => /usr/local/lib/libSDL2_mixer-2.0.so.0
        libSDL2_image-2.0.so.0 (libc6,hard-float) => /usr/local/lib/libSDL2_image-2.0.so.0
        libSDL2-2.0.so.0 (libc6,hard-float) => /usr/local/lib/libSDL2-2.0.so.0
        libSDL2-2.0.so.0 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libSDL2-2.0.so.0
        libSDL_ttf-2.0.so.0 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libSDL_ttf-2.0.so.0
        libSDL_mixer-1.2.so.0 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libSDL_mixer-1.2.so.0
        libSDL_image-1.2.so.0 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libSDL_image-1.2.so.0
        libSDL-1.2.so.0 (libc6,hard-float) => /usr/lib/arm-linux-gnueabihf/libSDL-1.2.so.0
/usr/local/lib 以下の *.so のほうが先に表示されてる、ように見えるので、コレで大丈夫なのではないかな…。たぶん。おそらく。自信無し。

SDL2のバージョンを確認してみる。
$ sdl2-config --version
2.0.7
公式リポジトリの libsdl2-dev をインストールした場合は 2.0.5 と表示されるはずなので、今回ビルドしたSDL2が使われている、のだと思う。

golangをインストール。 :

SDL2 が本当にビルドできているのか確認するために、go-sdl2 を動かしてみたい。そのためには、golang(Go言語) をインストールしないといけない。ということで、インストールしてみる。

環境は、Raspberry Pi Zero W + raspbian stretch。

_Raspberry PiでGo言語を動かす | Golang | kosakalab

golang の最新版を探す。以下から入手できる。

_Downloads - The Go Programming Language

golang 現行版 1.9.1 の ARMv6版は、
https://storage.googleapis.com/golang/go1.9.1.linux-armv6l.tar.gz
にあるらしい。ディレクトリを作ってダウンロード。
mkdir ~/golang
cd ~/golang
wget https://storage.googleapis.com/golang/go1.9.1.linux-armv6l.tar.gz

解凍する。
sudo tar -C /usr/local -xzf go1.9.1.linux-armv6l.tar.gz
/usr/local 以下に、go というディレクトリが作られる。はず。

/usr/local/go/bin に PATH を通す。また、環境変数 GOPATH も指定しておく。GOPATH の場所は…。今回は ~/go というディレクトリにしておく。
vi ~/.profile
# どこかに追加
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go

ログアウトして再度ログイン。これでgoが呼びされるようになってるはず。

golangの動作確認。 :

go のバージョンを確認。
$ go version
go version go1.9.1 linux/arm
インストールされてるっぽい。

巷のサンプル等を打ち込んで動作確認。

_GolangでHello World! - Qiita

go run hello.go
go build hello.go
動いてるっぽい。

go-sdl2をインストール。 :

go-sdl2は以下で公開されてる。

_veandco/go-sdl2: SDL2 binding for Go

goを使ってインストール。~/go/以下にインストールされるはず。
go get -v github.com/veandco/go-sdl2/sdl
go get -v github.com/veandco/go-sdl2/mix
go get -v github.com/veandco/go-sdl2/img
go get -v github.com/veandco/go-sdl2/ttf
あるいは以下。
go get -v github.com/veandco/go-sdl2/{sdl,mix,img,ttf}

随分時間がかかったけどインストールできたっぽい。たぶん。

go-sdl2の動作確認。 :

以下の記事の最後のほうで紹介されてるソースを、 gosdl2hello.go というファイル名で保存して実行。

_Golang と SDL2 でゲームを作る ・ KaoriYa
go run gosdl2hello.go

赤い四角が表示されて、一定時間が経過したら自動で終了した。

ということは、go-sdl2 もインストールできてるし、ビルドしたSDL2も動いてる、ということだろうか。すると、gosu がおかしいのか…?

gopherrunを試しに動かしたり。 :

以下で公開されてる gopherrun を動かしてみたり。

_koron/gopherrun
_Golang と SDL2 でゲームを作る ・ KaoriYa
go get -v -u -d github.com/koron/gopherrun
cd ~/go/src/github.com/koron/gopherrun
go build
./gopherrun

go build の段階でエラーが出た。どうも、go-sdl2 の構成が昔と今とでは変わってるっぽい。

game.go と gopherrun.go の最初のほうの、sdl_image や sdl_mixer を指定してるあたりを以下のように修正。
import (
        "log"

        "github.com/veandco/go-sdl2/sdl"
        "github.com/veandco/go-sdl2/img"
        "github.com/veandco/go-sdl2/mix"
)
import (
        "math/rand"
        "github.com/veandco/go-sdl2/sdl"
        "github.com/veandco/go-sdl2/mix"
        "golang.org/x/image/math/fixed"
)
これで go build が通るようになった。

go build で作成された、実行形式のファイル、./gopherrun を実行。

ゲーム画面っぽい画面がちゃんと出た。スペースキーでジャンプ。ESCキーで終了(のはず)。

ただ、不具合らしきもの出てる…。
  • 音楽だかSEだかが鳴らない…。コンソールには、「ALSA lib pcm.c: ???? :(snd_pcm_recover) underrun occurred」てなメッセージが残っている。
  • 処理が遅い…。かなりガクガクしてる…。まあ、遅いのは Raspberry Pi Zero で動かしてるから、かもしれず。
  • ESCキーを押すと終了するはずが、画面は消えても処理が戻ってこない。キーボードからの入力ができなくなる。Ctrl + C も受け付けない。

とはいえ、画面が出たのはありがたい。

画面が出た・画像が表示されたということは、SDL2関係はビルドできてる可能性が高いのだろう。となると、やはり gosu がおかしい…。

#2 [raspberrypi][linux] Raspberry Pi Zero W上にtmuxをインストールしてみたり

Pi Zero W に putty からアクセスした際に、何かの処理をしながら別の何かを確認したい、てな時があるわけで。たしかそういう時に使える、複数の画面を表示できるユーティリティがあったような…。GNU screen みたいな…。

ググってみて思い出した。tmux だ。

_tmuxを使い始めたので基本的な機能の使い方とかを整理してみた - 完熟トマト
_tmuxの使い方 - Qiita
_第127回 ターミナルマルチプレクサ tmuxを使ってみよう:Ubuntu Weekly Recipe|gihyo.jp … 技術評論社
_達人に学ぶ.tmux.confの基本設定 - Qiita
_tmuxが快適、かつ .tmux.conf の設定 - Qiita

ということで、Pi Zero W 上でインストール。
sudo apt install tmux
解説ページを見ながら設定していこう…。

2016/10/26(水) [n年前の日記]

#1 [pc] メインPCのHDDが遅い気がする

どうもメインPCのHDDが遅いような気がする。GIMP や Inkscape を起動する際に数分かかるのはどうもおかしいというか。以前も数分かかってたけど、もうちょっと速かったような。

環境は…。 もしかすると、 _チップセットが H67 だからSATAが少しずつ壊れていく不具合が発生している のでは…。でも、SATAポート0〜1番(SATA 3.0)は問題が起きない、問題が起きるのは2番以降(STAT 2.0)という話じゃなかったか。それに、H67 でも、B3ステップは不具合修正版のはず…。

CrystalDiskMark で測定してみた。
-----------------------------------------------------------------------
CrystalDiskMark 5.1.2 x64 (C) 2007-2016 hiyohiyo
                           Crystal Dew World : http://crystalmark.info/
-----------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

   Sequential Read (Q= 32,T= 1) :   125.153 MB/s
  Sequential Write (Q= 32,T= 1) :   113.850 MB/s
  Random Read 4KiB (Q= 32,T= 1) :     1.734 MB/s [   423.3 IOPS]
 Random Write 4KiB (Q= 32,T= 1) :     1.602 MB/s [   391.1 IOPS]
         Sequential Read (T= 1) :   120.791 MB/s
        Sequential Write (T= 1) :   110.307 MB/s
   Random Read 4KiB (Q= 1,T= 1) :     0.585 MB/s [   142.8 IOPS]
  Random Write 4KiB (Q= 1,T= 1) :     1.140 MB/s [   278.3 IOPS]

  Test : 100 MiB [C: 88.7% (203.1/229.0 GiB)] (x3)  [Interval=5 sec]
  Date : 2016/10/26 21:17:19
    OS : Windows 10 Professional [10.0 Build 10586] (x64)
    HDD WDC WD10EALX-009BA0 (SATA 6Gb/s)

アレ? HDD自体は、そんなに遅くないな。ということは…どゆこと?

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

近所のコンビニ(?)で煙草を、ザ・ビッグで夜食等を購入。

ゴールデンバットがフィルタ付きになってた。 :

煙管を使って吸ってる関係で、フィルタのついてないゴールデンバットを買ってたのだけど。今回買ったソレを開けてみてビックリ。なんでフィルタが付いてるんだ…。今までフィルム包装されてなかったのに、フィルム包装されてたから、何か妙だなとは思ったけれど…。

ググってみたら、2016年6月からフィルタ付きで売り始めたらしい。知らなかった。余計なことをしやがって…。

_ゴールデンバットにフィルター?狂気の沙汰だろ… - Togetterまとめ
_ゴールデンバットがフィルター付きに変更されていた... - 雨降ればブログ

それにしても、今まで買ってた品は、6月前に店が仕入れてた品だったのだな。自分は何も知らないまま、運良く買えてたのか…。逆に考えると、つまりはそれだけこの銘柄を買う人が少なかったということでもありそうな。市内中を探したけど、売ってる店は一軒しか見つからなかったし。どの店でも、そもそも売ってないという。

さて、困った。フィルタは要らないんだけど、どうしたもんか…。いやまあ、「そもそも吸うなよ」「禁煙しろよ」としか言われない話ではあるのだけど。

2015/10/26(月) [n年前の日記]

#1 [anime][neta] 「またつま」

唐突になんとなく。ルパン三世に登場するゴエモンの、「またつまらぬものを斬ってしまった」を略せないのかなとしょーもないことを考え始めてしまったのでメモ。例えば、またつま、とか。

ゴエモンが斬鉄剣を振るって対象を斬った後、斬鉄剣を鞘に収めながら瞑っていた目をカッと開いて「またつまッ!」と叫ぶと対象が空中でパッカーン、みたいな。…これはこれでなんだかカッコいい気がする。

そのタイミング、戦隊ヒーローのアレじゃん。

記憶が定かじゃないけれど、たしかTVSPのどれかで、「またつま」について少し捻った台詞を喋らせてた、そんな記憶も。そういうノリで、色々アレンジができそうな気もする。ていうかTVSPで何度かしてたと思うけど。

ゴエモン、斬鉄剣で○○を斬る。
ゴエモン 「またつまッ!」
次元 「なんだそりゃ?」
ゴエモン 「『またつまらぬものを斬ってしまった』の略でござる。
      近頃この台詞にも飽きてきたのでな。多少省略できぬものかと」
次元 「ハッハッハ。たしかに散々聞かされてる気がするぜ。
    一仕事に1回は言ってんじゃねえか?」
ゴエモン 「酷い時は3,4回言ってるでござるよ…またつま」

次元とゴエモンを乗せてその場を去っていくフィアット。

自分、またつまらぬことを妄想してるなあ。

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

#1 [nitijyou] 福島県自治選挙に行ってきた

お袋さんが投票に行くというので、車に乗せてもらって行ってきたり。

まあ、誰が当選するかは、どうせ既に決まってるんだろうけど。

夜のニュースを見て、まあそうだよね、と思ったり。

#2 [nitijyou] ペンキ塗り工事は終わったらしい

一通り全ての作業は終わったらしい。お疲れ様でしたありがとう、みたいな。

#3 [nitijyou] HDDレコーダが一杯になってた

ここ一週間ほど色々あって全くアニメを見てなかったのだけど。HDDレコーダの電源を入れたら「空き容量は全くありません」のメッセージ表示。確認してみたら本当に空き容量が0だった。

USB接続外付けHDDに、ライダー鎧武その他の録画を移動。まだ視聴できてないのだけど、いつ消化できるのやら…。

「M3〜ソノ黒キ鋼〜」なるアニメも録画してたけど、そもそも前半は放送されてなかったから全く見ていないし、総集編は見たけど何が何やらだし、最終回は別のアニメと放送時間が重なりまくっていて録画できなかったし。もう視聴は諦めることにして削除。

DR録画しかしてないので容量的に厳しくて。圧縮録画すればもうちょっと、とは思うけど、東芝製HDDレコーダはDR録画以外をするとフリーズするという噂があるから怖くて。

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

#1 [nitijyou] 夜中に地震

夜中の2時ちょっと過ぎに、ドゴゴゴという感じの激しい揺れが。感覚的に、1分以上揺れていたような気がする。またあのクラスが来たのではと、急いで部屋の出口に走ったり。

台風が近づいていて地盤が緩んでるところに、この揺れは…と不安に。被害が無ければいいけれど…。

#2 [windows] SearchFilterHost.exeがCPUコア1つ分使い果たしてしまう

数日前から、SearchFilterHost.exeというプログラムが、CPUコア1つ分をずっと使い続けてしまう状態に。Windows Search で使ってるプログラムらしいけど。なんでこんな状態に…。ちなみに環境は Windows7 x64。

とりあえず、コントロールパネル → インデックスのオプション(検索欄に「インデックス」と打ち込めば項目が出てくるはず)、で設定を見直し。xmlを検索しないようにすると改善する時がある、てな話を見かけたので試してみたり、あるいは再構築をしてみたり。詳細設定ボタンを押せば、そのあたりが選べるようになる。

しかし相変わらず、何かのタイミングで、CPU使用率が凄い状態になってしまう。検索を開始した頃はそれほど重くなってないので、たぶん何かのファイルを検索し始めた時に重くなるのかなと。犯人に相当するファイルが居そうな気がする…。

ファイルの拡張子によって、ファイルのプロパティだけをインデックスするか、中身(コンテンツ?)もインデックスするか設定できるように見えた。たぶん、コンテンツを眺めてるうちに重くなるのではあるまいかと。そこで、自分が知らない拡張子、かつ、コンテンツもインデックスする設定になっている拡張子は、プロパティだけをインデックスするように変更。

これで解決してくれるといいのだけど…。

pdfはインデックスしてくれないらしい。 :

インデックスのオプションを眺めてたら、「PDFファイル用のiFilterはねえよ」と表示されているのが気になったり。

ググってみたら、Adobe Reader をインストールすると、元々あったiFilterとやらが削除されてしまうそうで…。Adobeェ…。

_Adobe - Acrobat : For Windows : PDF iFilter 64 11.0.01 から入手できる、Windows x64用の iFilter をインストールすれば、Windows Search でPDFの中身も検索できる状態になるという話を見かけて試しにインストール。

2013/10/27追記。Googleドライブのせいかもしれず。 :

Windowsのイベントログを眺めていたら、「Googleドライブのフォルダにアクセスできねえです」と、Windows Searchがログを残してたことに気付いたり。もしかするとソレか…そのせいか…。

Googleも一時期、デスクトップサーチのプログラムを配布してた記憶があるけど。ライバル企業だから Windows Search の動作を妨害してたのだろうか…。いや、むしろそういうのって、Microsoft がやりそうだな…。「このユーザ、Googleドライブを入れてやがる。嫌がらせしてやるか」みたいな。でも、自分の環境、 Googleドライブも入れてるけど、SkyDriveも入れてるんですけどねえ…。SkyDriveユーザにも嫌がらせをするんかい…。まあ、根拠のない邪推なのですけど。

とりあえず、Googleドライブのフォルダを、除外フォルダ設定にしてみたり。これで改善すればいいのだけど…。

#3 [anime] ガンダムビルドファイターズ1〜2話を視聴

どういうアニメなのか全然情報を得てなかったのだけど。ガチのガンプラアニメのようで、これはなんだか嬉しいなと…。自分、プラレス3四郎とか好きだったんですわ…。それと、「玩具売るぞ!」てな目標がハッキリしてる企画って個人的に好きだったり。そういうアニメばかり見て育ってしまった世代なもんで…。

シリーズ構成・黒田洋介氏、監督・長崎健司氏と知り、「おお…」と。たしか黒田氏はガンダム玩具好きとどこかで聞いた記憶もあるし、ガンダムAGEで面白く感じた回が長崎コンテだった記憶もあるので、それぞれ良い方向に転がってくれたらいいなと。おそらく本格的ガンダム作品扱いはされないだろうし、偉い人達が出してくる条件は、ガンプラその他が売れればよし、みたいなソレじゃないかと想像するので、肩の力を抜きつつ、スタッフがやりたいようにやれたら、もしかして面白くなってくれるのでは、と勝手な想像と勝手な期待を。

でも、地上波で流してくれる局が少ないあたり、少し残念。まあ、BSで見れるだけマシかもしれんけど…。せっかくのガンダムシリーズなのに、田舎に住んでてBSが見れない御家庭の子供達は無視、なのか…。次代の客層が育たないのでは…。

#4 [anime] 蒼き鋼のアルペジオ、1〜2話を視聴

潜水艦アニメ、なのだろうか…。戦艦や潜水艦が全部美少女になってるあたりがなんというか…渋いのか渋くないのかよく分からない…。いや、えてして船舶は女性に喩えられたりするらしいから、これはこれで実にそれらしい自然な設定、なのかしらん。

3DCGでセルアニメ風を志向するサンジゲンが制作、らしくて。メカはもちろん、キャラも全部3DCGなのに、パッと見、手描きアニメかと見紛うほど。いやはや…さすがサンジゲン…相変わらずスゲエです…。劇場版レンズマンのCGシーンでワクワクしてた自分にとっては、夢のような映像。

岸誠二監督+シリーズ構成:上江洲誠氏+SF考証:森田繁氏…ってなんかもうその顔ぶれだけで期待してしまう…。 *1
*1: 岸監督作品は、「ダンガンロンパ」「P4」「人類は衰退しました」しか目にしてないのだけど、どう見てもフツーのセンスの監督さんではないな、てな印象で。上江洲氏は、「刀語」で名前を見てたので、好印象だったり。森田氏はガンダムSEEDやコードギアスで活躍した方らしいし。そんな感じで、「おお…」と。

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

#1 [nitijyou] 煙管を重曹で掃除

あまり綺麗にならないような。もしかして真鍮製ではなかったのかな…? とりあえず浸しておいてみよう…。

2011/10/26(水) [n年前の日記]

#1 [pc] ダンボール製PCケースを作り直した

昨日作成したケースがあまりにもデカイので、これはもうちょっと工夫すればどうにかなるはずだと。せっかくなので作り直してみたり。

親父さんからノコギリを借りて、M/Bを固定しているMDF板を、M/Bギリギリのサイズまで小さくして。絶縁スペーサを、もうちょっと低いモノと交換して。MDF板に貼り付けた下駄相当を薄くして。Amazonのダンボール箱も一回り小さいものを選んで。電源の置き場所をギリギリまで狭くして。

今度はそれなりに小さくなった。IN-WIN BK623程度には。このくらい小さければ動作確認する気力も湧いてくるというもの。

UBCDで起動して MEMTEST86+ を実行してみたけど、3周ほどエラー無しで回ってくれた。M/Bをダンボール箱の中でやたらとあちこちに動かしていたけど、特に壊れたということではなさげ。

利用したM/B、MSI K8MM-V のLEDのプラスマイナスがよく分からず。通常は基板上に印刷されているものなんだが…。マニュアルを見てもプラスマイナスが書いてない。「LEDがつかない時は端子を逆にすること」「極性を逆にしてもLEDが壊れることはない」としか書いてない。アバウトだな…。実際、POWER LEDを最初は逆に差してしまった。慌てて電源を切って本来の向きに差し直して一応点灯したけど、心臓に悪い。

それにしても。動いたはいいけれど使い道はとんと思いつかず。どうしたもんか。

#2 [pc] 日立製HDDが読み取れず

eSATA接続とUBS3.0接続をサポートしているHDDケース、玄人志向 GW3.5FR-U3E の中に、動作が怪しい Hitachi 0S03191 を入れて、i5-2500機にeSATAやUSB3.0で接続してみたけれど。数分待てばドライブの一覧が見えて、一見するとアクセスできるように見えたものの。コピーをしようとするとエクスプローラが固まってしまう。それどころか、Windows7 の起動終了すら妙に時間がかかってしまう。外付けHDDを1つ接続しているだけなのに…。

UBCDから起動した、DFT や DLGDIAG5 でチェックしようとするも。eSATA接続された 0S03191 (HDS723020BLA642) は認識できず。BIOS起動時、ブート選択メニュー内にHDD名が表示されているからチェックできるかと予想したけど…やはり直接SATA接続しないとダメなのか…。

先日別ケースに入れ直した Core 2 Duo 機の起動HDDを抜き出して、0S03191 を入れてみた。UBCD から DFT を起動したら認識された。やっぱり直接SATA接続しないとダメらしい。

ひょっとすると、GW3.5FR-U3E のACアダプタ電源に原因があったりはしないか。電流が足りてないとか。…裸族のお立ち台でもフリーズするという情報も見かけたし、その手の機器とは相性が悪いのかも。

それはともかく、Core 2 Duo機上で DFT の Quick Test をしたら、seek の際に異様に時間がかかるようで。以前は「クックックッ」とリズミカルにアクセスできていたのに、今回は「クッ……クックックッ……」という感じ。どうも特定の場所で止まってしまっているような。それでいて結果は0x00=エラー無し。なんでやねん。…何度かリトライすればまだ読めなくもない状態ということなんだろうか。それはそれでありがたい状態なのかもしれないが。

Core 2 Duo機上でも調子が悪いとなると、GW3.5FR-U3E の電流が足りてないから調子が悪くなった、という線は消える気がする。電源をどこから取っても調子がわるいのだから。しかし、だからと言って、GW3.5FR-U3E が設計上何の問題もないHDDケースかどうかまでは分からない。他のHDDを繋いでみて検証しないとたしかなことは言えない。…まあ、この手のケースは、使っているACアダプタによって、使えるHDDと使えないHDDがどうしても出てきてしまうのがフツーだろうとは思う。

中に Windows7 が入っているので、そのまま起動してみた。…黒い画面のまま固まった。リセットしてみた。Windowsのマークがアニメーションしてそのまま先に進まない。またリセット。随分と待たされて、ようやく起動。オンボードビデオで表示しているのでドライバ読み込み、かつ再起動を要求された。再起動。…この再起動ではスンナリと起動して首を傾げた。何故ここでスンナリと起動するのだろう。一体どういう状態なんだろうか…。

とりあえず、OSが起動している今のうちに、該当HDDの中にしか入ってないファイルをLAN経由でi5-2500機にコピー。FireFileCopy を使ってベリファイしつつ作業。

途中で何度かベリファイエラーが出た。必ずエラーになるというわけではなく、再度コピーしてみるとエラーは出ずにコピーできたりする。何が起きているのやら。うーん。

コピーしたファイルが既に壊れてる可能性は否定できない。以前バックアップを取っておいたファイルと比較していかないと…。

2010/10/26(火) [n年前の日記]

#1 [nitijyou] なんだか急に風が強く

先日、新潟のほうで竜巻が発生したらしいけど。まさかこのあたりも…。いや、地形的にそれはないのかもしれないけど。

#2 [anime] パプリカを再鑑賞

HDDレコーダから消す前にもう一度。やっぱり凄い。

2009/10/26(月) [n年前の日記]

#1 [pc] クローンゲームなる分野がちょっと気になる

悪魔城ドラキュラが好きで好きでしょうがない人達が作った本家クリソツなゲームがある、という話を見かけて動画を見てみたのだけど。あらゆるものが直線運動をしていて首を捻ったり。なんでそういう作りになるのか…。まあ、かなり昔の作品らしいので、今作ったらたぶんまともな動きになるのだろうけど。

それはともかく、似たようなゲームを作ったら、メーカから訴えられてしまったりするのだろうか。出来が悪かったらどうせ客もつかないから無視したほうがお得だし、あまりに出来が良過ぎたらいっそ開発陣と交渉して買い取ってしまって自社製品として売っちゃえばいいのでは、と、お花畑な事を妄想したりするのだけど。大体今時実際の開発作業をしてるのはほとんど外部の会社なんだし。

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

#1 [anime] ゲゲゲの鬼太郎、磯女の回

普段は惰性でBGVとして流してるのだけど。今回、演出・コンテは別にして、わけのわからない展開になんだか感心してしまった。何をどうしたらこんな筋書きを思いつくんだろう。素晴らしい。こういうのが鬼太郎なんだなと、なんとなく思ったりもして。

脚本は、 _吉村元希 氏。

#2 [anime] ガンダムOO2期目を鑑賞

1話から3話分ぐらいためてしまってたのを鑑賞。作画スゲエ…。盛り上げ方もなんかイイ感じ。OP映像もカッコイイ。とにもかくにもカッコイイ…。

それはともかく、福島におけるアニメ新番組というと、ガンダムOOとゴルゴ13だけだったりするわけで。何故にゴルゴ…。

#3 [windows] 動画再生用のアレコレをインストールしたりアンインストールしたり

動画のサムネイルを作成できる MovieThumbGenWin32.exe が、メインPC環境上では実行後にエラーを出すことに気がついて、再生用のアレコレをアンインストールしたり再インストールしたり。

ffdshow その他を個別インストールしたけれど、結果変わらず。結局最終的には CCCP (Combined Community Codec Pack) と Real Alternative の2つだけをインストールした状態に。ただ、MP4等を Windows Media Player 上で再生した際に色がおかしい状態を改善する設定にしておくと、MovieThumbGenWin32.exe や White Browser が異常動作してしまう。であればと、後者が正常動作するような設定にすると、前者で再生した際にやっぱり色がおかしくなって。色々設定を変えてみたけど、どちらも問題ない状態にはできず。まあ、VLC media player や GOM Player を使えば一応再生はできるけど…。

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

#1 [pc][web] _Nvu は一年前に開発中止がアナウンスされおり、現在は KompoZer というプロジェクトが後継になっています。

メモ。バグが放置されてたのは知ってたけど、完全に開発中止だったのか。>Nvu。

#2 [cg_tools] _VectorMagic | Index

ビットマップ画像をドローデータに変換してくれるサイト、かしら。本当に必要な色をスポイトで指定するあたりがヨサゲ。 _(via はてブ)

#3 [prog][iappli] python勉強中

ビットマップ画像を読み込んで、ポリゴンデータの元になるバイナリを出力するスクリプトを作成中。最初は RMagick (Ruby+ImageMagick) でやろうかと思ったけど、出来上がった後で .exe に変換する際に何か問題が起きそうなので、Python + PIL (Python Image Library) で作成を試みていたり。

バイナリ出力するところまではできたけど、本当に内容はあってるのかどうか…。画像に変換し直すスクリプトも作成して、チェックしてみるか…。

xmlで何かしら渡す方法がよくわからず。 :

ピクセル値のリストをスクリプト中に書かずに、外部ファイルにして読み込ませたほうがいいだろうと思ったのだけど、どんな外部ファイルにして渡すかで悩む。…やっぱり流行(?)に乗ってxmlを使うべき? かもしれんけど関連モジュールのドキュメントを読んでもよくわからず。

ただのテキストファイルに羅列して読ませるだけでも十分なんだろうけど…。

2006/10/26(木) [n年前の日記]

#1 [cg_tools] _がんばれ3DCG - 第1回 Poserに挑戦! [Step1]

「ひぃっ!」に笑った。

#2 [iappli] サウンドデータ差し替え版を送った

朝の提出期限までに間に合った。と思うけど。

複数の正解が出てこないようにするための処理を入れた。作り始める前は、「正解箇所を発見したら、該当箇所の一部を微妙に変えてから、また全部を再検索して」などと考えていたけど。下請け関数を作ってる途中で、問題が見つかったらまた最初からテーブルを丸々作り直せばいいのではないかと気づいたり。偶然に次ぐ偶然が延々と重なった場合は、生成→検索→問題あり→生成→検索→問題あり、をいつまでも繰り返してしまって、画面が先に進まなくなる可能性もありそうだけど。いくらなんでも永遠に処理が繰り返されることはないだろう…。ないといいな…。ホントにないのだろうか…。乱数まかせだしな…。もしかすると、別処理をするモードもつけておいたほうがいいのかもしれん。正解の構成要素の一部を除外した種類のみで、テーブルを作成する処理とか。生成回数が一定値を超えたら、そういう特別モード(?)に切り替えて生成する、とか。問題は簡単になるけど、いつまでも画面が先に進まないよりはいいだろう、みたいな。

残り時間が10秒より少なくなったら、1秒毎にSEを鳴らすようにしたのだけど。9秒から音が鳴り始める…。何故?
if ( (counter % FPS) == 0 && (counter / FPS) <= 10) playSE(n);
これじゃダメなのか。…ん? FPS で割った際の余りが 0 ということは、次のフレームでは秒数が -1 された値になるわけで、つまり、音を鳴らした1フレーム後に -1 された秒数が表示されてしまう。0と比較じゃなくて、(FPS-1)と比較せねばならんのかしら。

2005/10/26(水) [n年前の日記]

#1 [web] _強化されつつあるプロバイダーのセキュリティ対策サービス Outbound Port 25 Blockingを検証する

_25番ポートでの大量メール送信をブロックする「Outbound Port 25 Blocking」とは?

plalaの場合は、送信メール数で該当機能?設定?が無効→有効になる、とある。大量にメール送信してる人だけ送信できなくなるらしい。なんだか賢い対応かも。

#2 [web] _Google Adsense狩り、そしてGoogleは言った。「オマエ、そんなにカネが欲しいのかよ!」

_Google Adsense狩りに対し、自衛する方法

話題としてはちょっと古いけど、まとまってる気がしたのでメモ。

#3 [game] _スラッシュドット ジャパン | PlayStation 2 の新モデルに互換性問題

どうして問題が出てくるのかが気になったり。何が変わったんだろうな。 _(via Crohn Life - 2005年10月24日23時49分の項)

#4 [digital] _電子「水滴の拷問」デバイス

(水滴の拷問:拘束した囚人の頭に一定時間おきに水滴を落とすと、そのことしか考えられなくなりついには発狂してしまう、らしい。)

Engadget Japanese より

そんな拷問があるのか。恐ろしい。
「クリエイティブな電子嫌がらせデバイス」ことMind Molesterは被害者周辺のできるだけ発見されにくい場所に隠して使用する。要はカン高くて気に障る音(2000ヘルツ)が出るだけの単なるブザーなのだが、恐ろしいことに約5分に一度だけ、一秒しか鳴らない。「電子音の長さ・周波数・音色により、音の出所を確かめるのは非常に困難で時間がかかり、気が狂いそうにもどかしい作業になります。ターゲットは音源を突き止めようと次の音を待つことに気を取られ、仕事がまったく手に付かなくなるでしょう」

Engadget Japanese より

恐ろしい…。光景を想像しただけで、気が狂ってしまいそう。

#5 [zatta] _空飛ぶ絨毯

シンプルでありながら、ナイスなアイデア。

#6 [java] _Forte for Java 3.0 Community Edition レビュー

_Sun ONE Studio 4 の解説

もはや入手は不可能なのだろうか。まあ、emacs系のショートカットキー配置じゃないから、自分には使いづらいかもしれんか…。

xyzzyでiアプリ関係の補完をしたいのだけど何をどうすれば反映できるのかさっぱりわからん :

まあ、eclipse 使えば補完できるんだから、それでいいか。eclipse である程度打って、ソースをコピー、とか。とはいえ eclipse は、微妙に xyzzy、emacs 系とは操作が違ってて、そこがシンドイんだけど。…でもまあ、昔はVZエディタだの秀丸だの使って作業してたもんだし。自分がエディタに体を慣らせばいいのか。…なんだかPCの奴隷になってる感もあるけど。

2004/10/26(火) [n年前の日記]

#1 [windows] xyzzyのftpupdate.lが遅い件

_教えてもらった情報 を眺めつつ。 _SpeedGuide.net TCP/IP Analyzer のページでMTUやRWINを確認してみたけれど、 _NetTune で設定した値(MTU=1454、RWIN=65044)と変わらんのであります。うーむ。 *1

とりあえずMTUやRWINに関しては、SP2インストール後も問題は起きてないことが判ったので一安心。となると、問題が起きてるのは、FTPでアップロード、しかもLAN内のサーバに向けて、という話なわけで…。

原因判明 :

WinXP SP2から導入されたファイアウォール機能を無効にしてみたら、xyzzyからのFTPアップロードも一瞬でできました。ファイアウォールを有効にすると時間がかかる。これのせいか。

しかしどうしたもんか。xyzzy自体はファイアウォール設定で例外として登録してるのだけど。それでも時間がかかってる。困った。

xyzzyに限った話じゃない :

FFFTPも返ってくるまでに時間がかかる。FTP関連はダメってことか…。

と思いきや。同じFFFTPを使った場合でも、
  • ウチのLAN内のFTPサーバに接続すると時間がかかる。
  • 外部のFTPサーバに接続するとそれなりに早く返ってくる。
という違いが。するとウチのサーバの設定の問題か。でも、そうなると、SP2のファイアウォールを無効にすることで即座に返ってくるのが、よくわからん…。

_Port 113 :

む? コレか!?

Port 113ってなんじゃろ。

_TCP/113 AUTH/IDENT に関して :

なるほど。そういうことでしたか。FTPの場合であっても、制御ポート、転送ポート以外に、使うポートがあると。そこをブロックされると時間がかかると。ということで、試しにファイアウォールで、例外→ポートの追加→TCP/113 を登録。…スパッと返ってきた。コレかー。

でもコレって、FTPサーバの設定とも関連してる、ということだよなぁ…。

_Kero's Factory - Linux - ProFTPD :

_ProFTPDをクラスタリングした際のログイン時間について
proftpd の場合、IdentLookups off を指定すればいいらしい。試しに、自宅サーバの /etc/proftpd.conf 中で指定してみたり。…WinXP SP2側で、TCP/113を例外にしなくても、スパッと返ってくるようになった。

しかしコレ、問題があったりはしないんだろうか。…まあ、いいか。あちこちのページを眺めた限りでは、offを指定してる例が多いみたいだし。

それにしても :

WinXP SP2とは関係ない部分が原因だったのですな(爆) ファイアウォールを導入、かつ、サーバ設定によっては、どこでも発生する可能性があるということで。

*1: MTUに関しては、OS側で設定した値ではなく、ルータ Corega BAR Pro3 で設定した値がそのまま出るわけですが。ウチは、フレッツADSLモアを利用してるので、MTU=1454にしてある状態。…ちなみに、昔のCorega製ルータ(BAR SW-4Pとか)はMTUの指定ができなくて、謎の値で固定されてたり。たぶん、色々なサービスでも不具合が出ない、汎用的な値になってたのだろうな。

#2 [pc] キーボードを元に戻した

交換したキーボードのタッチがどうにも気にいらない。元のキーボードに戻した。一応動いてるので、壊れてるわけではないらしい。やはりマウスだけが壊れていたのか。

どうせ交換作業をするなら、 _ハサミで切り込み を入れればよかったかなぁ…。

#3 [web] _受益者負担の話がなんか変だと思ったのは

同人誌の世界と比較しながらのあたりがなんだか興味深いなと。そっちの世界と比べると、情報提供側のコスト負担と言っても全然少ないんだよなぁ…。

コメントにあったP2P利用による状況改善の可能性についても気になるところ。誰かが取りにくるまでサーバにコンテンツを置いて、という仕組み自体が古いものになっていくのだらうか。興味深い。

#4 [zatta] _メラトニン

某所で単語を見かけてなんじゃろと思って検索してみたらいきなり _こんなページ が出てきて驚いてしまった。もっともコレは大量摂取理由がいわゆるアレな理由なのでアレだけど。まあ、 _「ウコンで症状悪化1人死亡 健康食品、肝障害が18人」 という話もあるようだし、なんでも取りすぎはいかんということでせうか。<なんじゃそのまとめ方は。

ウンコじゃないよ。<あまりにもくだらなくて必死に抑えてはみたがどうしても書かずにはいられなかったらしい…。

_メラトニン(不眠症) :

_メラトニン
_ためしてガッテン でも紹介されてたのか。知らなかった。
医師の指示に基づいてのみ手に入れることができるため、薬局などでは売っていません。
診てもらって貰えるならまだ安心。かも。まずは診てもらうことが重要だろうし。 *1 何にせよ勉強になったのでした。メラトニン星人とか。究極魔法メラトニンとか。なんか使えそうな感じ。<使ってどうする。

*1: アタリハズレもあるけど。

#5 [jiji] 新潟地震のニュースを見ていて思った

車内で寝泊りの光景は、地方だから、だろうか。 *1 都市圏で発生したら違う状況になりそう。…ゴジラとかデビルマンとかそのへんの作品では、そのあたりの描写はどうなってるんだらう。…不謹慎か。

車内で寝泊りしていたお年寄りが亡くなったニュースを見て :

どこぞのお医者さんが、疲労・ストレスが蓄積されていく理由について、狭いところに縮こまって云々、寒い板の間で云々と解説してた。会社で椅子を並べてとか、会社の床にダンボール引いてとか、そのへんの話を思い出したり。それだけ現地は、か。それとも職場が、か。

マスコミ :

取材陣が現地の食料を根こそぎ横取りしながら、「食料が足りてない」と報道してるのは…なんだかなぁ。 *2

マスコミが現地に入るためには、規定量の救援物資を持っていかないとダメ、とかできんかな。スタッフの分は除外して、何食分運んだら何時間取材できる、とか。…無理か。誰がソレをチェックするねん。

番組内で、「当番組の取材陣は○○人分の救援物資を提供させていただきました」と前置きしてから取材映像を流すのが当たり前、てな風潮を作れないか。救援物資を提供してないのに映像を流してたら、現場で邪魔してるだけだから、視聴者・他局・他番組からの攻撃対象になる、みたいな風潮を。無理か。つーか子供みたいなことを書いてるな>自分。…いや。他局の番組を潰したいなら、いい方法かもしれん。あの人気番組を殺るなら、今だ。被災者から感謝される映像をゲットして自番組の宣伝ができるし、余所の番組は潰せるしで、一石二鳥。…無理か。

冗談はともかく、「ウチはこれだけ提供しましたよ」とバンバン宣伝する風潮がもっと広まってほしい気もする。商売人は宣伝ができる。被災者は助かる。困る人は誰も居ないのだし。つーか、被災者支援商品とか出てきてもいいぐらい。と思ったがソレは詐欺行為がしやすい気も。ちとよろしくないか。

こういう時に :

支援・救援物資を提供した企業・団体をリストアップしてみると何か見えてくるのかもしれん。とりあえずちと気になるのは、 _livedoor_楽天 の動き方の違いとか。あと _元締め とか。 *3

_バッファロー、新潟県中越地震の被災者を対象とした無償修理サービス :

やるなぁ。つーか _IOデータもか。 双方の素早さに胸キュン。…NECは修理代3割引か。まあ、PC本体とか高いから仕方ないところかしら。…ん? 富士通はやらんのかの。と思ったら _富士通もやってるじゃん。 しかもNECより1日早いじゃん。…つまり、インプレスは件の三社がお得意様で、富士通とはそれほどでもない、ということなのかしら。知らんけど。

SONYのサイトを覗いてみたけど、それらしい情報はなかった。見落としでないとすれば、やっぱりねぇ。

*1: 車がないと移動に制約がかかるから、車を所有してる人達が多い>地方。
*2: といいつつ、そのマスコミの作ってるコンテンツを見てる自分。なんだかなぁ。
*3: 善意云々とかは全く関係なくて。こういう時に自社イメージ向上戦略を即座に打ち出せないのは、企業として硬化が始まってるような気が、という視点で気になる。

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

#1 [pc][linux][debian] woody 再インストール

stable へ戻す作業の試行中、/etc/apt/apt.conf.d/99target を削除する代わりに、__99target というファイル名にリネームして作業していたのだけど。__99target を試しに消してみたら stable に戻り始めた。/etc/apt/apt.conf.d/ 以下にファイルを置いておくと、ファイル名に関係無く、一通り中身を読んで動作に反映させてしまう、という事だろうか <怪しい。

ただ、完全に stable には戻らなかった。途中で何度もエラーが出てきて apt-get -u dist-upgrade が止まってしまう。ほとんどは、「○○とかいうファイルは△△のパッケージでも入れてるよ。上書きはマズイよ」というエラー。それらのパッケージに関しては、dpkg -i --force-overwrite xxxxx.deb で無理矢理上書きしてみたり。

ひとまず apt-get -u dist-upgrade で何も downgrade されない状態にはなったけど、apt-show-versions | grep testing としてみたら、いくつかのパッケージが testing のまま残ってるらしく。おそらく、stable には無いけど testing で増えたパッケージじゃなかろうか、などと根拠無く勝手に決めつけてバシバシ削除してみたら… rm やら ls やら mkdir やらが全く利用不可になり、dpkg も動作不可になり、再起動したら grub も起動しない状態に。

ということで、またしても CD から woody を再インストール。自分、一体何をやってるんだろう。

#2 [pc][linux] linux 弄ってると win に戻ってこれないな

複数台、自由に弄れるPCがあれば楽だろうな。一台のPCに、win も linux も入れて使うのは、やっぱりちょっと無理があるかも。

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

#1

ガンダムSEED見ました。
…恥ずかしい話、本編見るまでそういう作品だったとは知りませんでしたよ。
なるほど。初代のリメイク作品なのか…
にしては、本編も、周囲も、盛り上がらないのは…なぜ?

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

#1 魔女のホウキ

_ファイルをサルベージする方法ですが、こちらのページにまとめておきました。
各ツールの作者様に感謝です (´▽`)


サーバもひとまず一段落、ということで、Shadeでモデル作ってました。
「あっのっひっとのぉーママに会うためにぃ〜♪」
などと口ずさみつつ、ホウキを作ってたり。絵の小道具に使うのだ。

地面を掃く部分…小枝(?)が密集してる部分が、満足のゆく形・ボリュームにならず。
一本細ーい円柱を作って、ボコボコとコピーして…
とかやってるんですけど。重くなるわりにイマイチ。
ゲームによくあるポリゴン十字置きでなんとか…
無理か。最終的にはパースをつけてレンダリングするから。

そもそも魔女が使うような箒って、あの部分、かなりフサフサしてるんじゃなかろうか。
アレは一体何だろう。草なのかな。
自分、そのへんの掃除に使う、ガチガチしたヤツをイメージしてたけど、ちと違うかも。

もしかして、手描きで描いた方がいいだろうか…
でも、こういう時、プロならどうするんだろう。
ゲームに魔女のホウキが出てくるからポリゴンでモデル作れ、とか企画の人から指示されたら…
本編は処理速度重視でローポリ+テクスチャだとしても、ムービーやるなら作りこまないとですよね…

魔女宅のビデオでも見て、形を研究してみようかな。

2000/10/26(木) [n年前の日記]

#1 社長の名刺を破り捨てる社員

サブマシンのHDDの中を眺めてたら、なぜかIEのキャッシュフォルダが3つもあったり。
おかしいな。設定変更してたはずなんだけど…


Nステで、長野県知事さん(「なんとなくクリスタル」を書いた人)の初登庁の映像を見たんですが。
県知事さんが渡した名刺を、目の前でクシャクシャにする県庁職員の姿にビックリ。
「県知事ってのは、会社で言えば社長。社員に名刺を配る社長がいるか? バカバカしい」とマスコミ相手に主張してたようですが。
その社長の名刺を、わざわざ社長の目の前でゴミにする社員ってのもおかしいだろ… (´Д`;)

県知事さんは、「メールアドレスとか書いてあるから、意見頂戴ね」と理由をつけて渡してたわけで。
それを、「そんな事例は見たこと無い」と職員側が拒否するあたり、なんだか末期的。
組織の縦の構造への異様なまでの固執の表れか、身内(県庁関係者)では無かった人間への強烈な拒否反応なのか…
県知事さんが何かと口にする「しなやか」の反対の状態ですよね。
いや、オイラも「しなやか」とやらの意味、よくわかりませんけど(苦笑) 現状が「しなやか」に程遠い事ぐらいは子供でもわかる。
ああいう怪しげな(?)県知事さんでも、長野県民の方々が選ばざるを得なかったのは必然だったのかも。
職員さん達、そのへん全然認識できてないんだろうな。

つか、もしかしてEメールとかの類に強い拒否反応示すタイプの人だったのかな >折り曲げた人
結構年配の方のようにも見えたし。
それもそれでアレだなぁ…

とりあえず。
他県の事とは言え、今後どんな「しなやか」を見せてくれるのか、ちょっと期待 >長野県知事さん

ふと。
「しなやかさん」
「しなやかおじさん」
って呼び名はどうだろう <なんじゃそりゃ

1999/10/26(火) [n年前の日記]

#1 (NoTitle)朝までネット。ヤバい...

朝までネット。ヤバいです。AM10:00〜PM6:30頃まで寝ていた模様。

WOWOWのノンスクランブル放送でやってるアニメを見たです。しかしリアルタイムで見るのはなんかツライ。タイマー録画できないかな。BS内蔵ビデオがあればいいのかな。でもそうするとTVについてるBS関連の機能はどうなっちゃうんだろう。実はよくわからんのです、何買えばいいのか。
しかし「くるみ」って面白いのでしょうか。私にはわかりません。たしかToHeartの監督さんなんですよね。今一つパッとしない印象が。何が売りの監督さんなのかな。
とにかくさっぱりわかりません。トホホ

以上、20 日分です。

過去ログ表示

Prev - 2018/12 - 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