mieki256's diary



2023/06/05(月) [n年前の日記]

#1 [cg_tools] 画像生成AIを触ってる

画像生成AI Stable Diffusion web UI に対して、「xx years old」で人物の年齢を指定できるらしいと知って試していたのだけど。コレ、反映されてるのかどうかよく分らんなと…。乱数シードを固定して、1歳ずつ年齢を変えて生成してみたけれど、変化が無いような…。いやまあ、例えば「9 years old」と「15 years old」を比較したら変わってる感じはするのだけど、1歳程度の違いでは変わらんような…。

ちなみに、「9yo」「15yo」でも年齢指定ができるという話を見かけたけれど、そちらはまだ試してない。

そもそも、学習する元画像に対して、「これは何歳の人物」と指定しておかないと学習できないのではないかと思うのだけど…。その画像に映った人物の年齢なんてフツーは分かるわけないだろうし、このあたり一体どんな感じで学習させてるんだろうと…。それこそAIに何歳ぐらいか推測させながら学習させないと物量的にやってられないのでは…。

それとは別に。人種について今までは「asian」だけ指定して済ませていたけど、ひょっとして国籍まで指定したほうがいいのかなと試してるところ。とりあえず、「japanese」「korean」「chinese」「filipino」「thai」といったワードを指定して結果が違ってくるのか確認してみたけれど、一応変化はしている…のかな…。ちょっと自信が無い。ただ、たまたまそうなったのかもしれないけれど、「asian」と「thai」の生成結果が似た感じに見えなくもないなと…。

まあ、使ってる学習モデルデータによって、このあたりの指定が反映されたりされなかったりするのかもしれんし…。

2022/06/05() [n年前の日記]

#1 [xlib] Xlibでラスタースクロールっぽい処理

_昨日、 _一昨日 と、Xlib を使って小さい画面(Pixmap)をディスプレイ一杯に拡大して描画できるか試してたけど、小さい画面を対象にして処理するならラスタースクロールっぽい処理もできるかなと思えてきたので試してみた。

環境は、Ubuntu Linux 20.04 LTS。Windows10 x64 21H2 + VMware Player 上で動かしている。

こんな感じになった。




動画の解像度が小さくて見辛いかもしれんけど、画面下半分がチラチラと動いてることぐらいは分かるかなと。元画面は640x360で、ディスプレイ解像度は1440x900。

ソース。 :

ソースと使用画像は以下。

_08rasterscroll.c
_bg03.xpm.txt


コンパイルは以下。
gcc 08rasterscroll.c -o 08rasterscroll -I /usr/include/X11 -lX11 -lXext -lm -lXpm

実行は以下。
./08rasterscroll

ラスタースクロールと言っても、あくまでモドキで…。画面の下半分は、元画像を参照する際のx座標をcos()で変化させて、縦幅1ドットずつ、Pixmap から Pixmap にコピーしてるだけ。

元画像は、640x360の左右に32ドットずつ足して、704x360で作成。左右にcos()で揺らして描画するので、横640ドットぴったりで作ってしまうと描画されない部分が出てきてしまう。左右に少しだけ絵を追加しておかないといけない。

#2 [linux][windows] pecoの代わりにfzyを使ってみた

Windows10 x64 21H2 + MSYS2上で peco を使おうとしたけれど動いてくれなかった。ググってみたら MSYS2上で(というか mintty上で?) peco は動かないらしい。ただ、peco の代わりに fzy というツールが使えるという話を見かけたので導入してみた。

余談。pecoについては以下でメモしてあった。

_mieki256's diary - pecoを導入してみた

使い方。 :

  • pcd add . : カレントディレクトリを登録リストに追加。
  • pcd edit : 登録リストファイルを編集。
  • pcd : 登録リストからインクリメンタルサーチで絞り込んでディレクトリ移動。
  • cdp : カレントディレクトリ内からインクリメンタルサーチで絞り込んでディレクトリ移動。

インストール。 :

pacman -S fzy
$ fzy --version
fzy 1.0 (C) 2014-2018 John Hawthorn

pcdをインストール。 :

pcd を使えば、自分で登録したディレクトリリストをインクリメンタルサーチで絞り込んでディレクトリ移動ができる。

登録リストファイル、~/.peco/.peco-cd ファイルを作成。
mkdir ~/.peco
touch ~/.peco/.peco-cd

~/.bash_pcd を作成。以下を記述。
  • peco を呼び出している場所で fzy を呼ぶように変更。
  • pcd edit と打った際は nanoエディタを呼び出すように変更。

function pcd() {
  local PCD_FILE=$HOME/.peco/.peco-cd
  local PCD_RETURN
  if [ $1 ] && [ $1 = "add" ]; then
    if [ $2 ]; then
      ADD_DIR=$2
      if [ $2 = "." ]; then
        ADD_DIR=$(pwd)
      fi
      echo "add $ADD_DIR to $PCD_FILE"
      echo $ADD_DIR >> $PCD_FILE
    fi
  elif [ $1 ] && [ $1 = "edit" ]; then
    if [ $EDITOR ]; then
       $EDITOR $PCD_FILE
    else
       # editor $PCD_FILE
       nano $PCD_FILE
    fi
  elif [ $1 ] && [ $1 = "." ]; then
    PCD_RETURN=$(/bin/ls -F | grep /$ | fzy -l 20)
  else
    PCD_RETURN=$(cat $PCD_FILE | fzy -l 20)
  fi
  if [ $PCD_RETURN ]; then
    cd $PCD_RETURN
  fi
}

function cdp {
  local dir="$( find . -maxdepth 1 -type d | sed -e  's;\./;;' | sort | fzy -l 20 )"
  if [ ! -z "$dir" ] ; then
    cd "$dir"
  fi
}

~/.bashrc に以下を追記。~/.bash_pcd が存在していたら読み込むようにする。
if [ -f "${HOME}/.bash_pcd" ]; then
  source "${HOME}/.bash_pcd"
fi

source ~/.bashrc で反映。

参考ページ。 :

#3 [zatta] ユニクロで買い物をして驚いた

ユニクロに寄ってTシャツを買ってきたのだけど、初めてセルフレジを使ってみて驚いてしまった。商品を指定の場所に置いただけで、何点置かれてるか、何が置かれてるかが自動で液晶画面に出てきて、「えっ。なんで?」と。これどうやってるんだ…。バーコードをあらゆる方向から読み取ってるんだろうか。いや、でも、バーコードが必ず見えるような状態で置いてなかったと思うけど…。もしかして、魔法…?

夕食時にその話をしたところ、妹曰く「ICタグが導入されてる」「特許絡みで裁判になってた」とのことで。

_ユニクロの「レジ待ち行列」を解消したRFIDタグの威力 | Agenda note (アジェンダノート)
_ユニクロだからできるRFIDタグの破壊力 | GASKET
_ユニクロを特許侵害で訴えた下請け社長語る「ゼロ円でライセンスを要求された」 | Close-Up Enterprise | ダイヤモンド・オンライン
_ユニクロのセルフレジ特許権侵害訴訟を現状整理する 知財高裁で勝っても戦況が明るくない理由(1/2 ページ) - ITmedia NEWS
_ユニクロのセルフレジ特許侵害訴訟、和解へ 互いに訴訟・請求を取り下げ - ITmedia NEWS
_RFID - Wikipedia

RFID/RFIDタグなる技術があるのか…。ゴミ箱に捨ててしまったタグを発掘して光に透かしてみたら、たしかに何かが中に入ってた。スゴイな…。「今頃知ったのかよ」と笑われそうだけど、勉強になりました。あまりに驚いてしまったので、こうしてメモ。

2021/06/05() [n年前の日記]

#1 [digital] microSDカードをP9 liteに入れてみた

32GB の microSDHCカード、Transcend TS32GUSD300S-AE の動作確認ができたので、HUAWEI P9 lite (Android 7.0) に入れてみた。

microSDカードは、SIMカードとやらを入れるトレイ(?)に、一緒に入れて使うらしい。トレイ部分は、SIMピンなるものを本体側面の穴に入れて押すことで飛び出してくるらしいけど。自分の手元には SIMピンとやらが無く。

ググったら、クリップや安全ピンでも代用できなくもないらしい。P9 lite の電源を切った状態で、安全ピンを穴に入れて押してみたところ、トレイが飛び出してくれた。なんとなくだけど、CD-Rドライブのトレイが動かなくなった時の対処方法に似ているなと。アレも穴に金属の棒を入れてグッと押す感じだけど。

トレイの上にmicroSDカードをそっと置いて、再挿入。

電源投入。設定 → メモリトストレージ。外部ストレージとしてSDカードが認識されてる。一応、フォーマットをしておいた。

「ファイル」アプリを開いて、SDカード側に、Music, Movies, DCIM/Cameraフォルダを作成。本体内部ストレージに今まで入れていたmp3ファイル群や写真画像等を、SDカード側に移動した。

アプリに関しては、SDカード側に保存することはできないという話を見かけた。写真、音楽ファイル、動画ファイルだけを、SDカード側に入れて使う感じになるのかな…。そういうことしかできないなら、32GB の容量は要らなかったかもしれない…。

余談。SIMピンとやらを探して P9 lite の箱を開けてみたら、中に透明なケースが入っていた。なんてこった…。ググってみたら、どうやら P9 lite はデフォルトで透明ケースが付属していたらしい。 *1 新規にケースを買う必要は無かったのだな…。トホホ。
*1: 自分で買ったスマホじゃなくて、妹から貰ったスマホなので、そのあたり知らないまま使ってた。

#2 [digital] iPhone5用のスマホケースが届いた

通販で注文していた iPhone5用の透明なスマホケースが届いた。アクセサリー専門店 きらら 楽天ショップで注文。220円。送料無料。本当に届くのか不安だったけど、ちゃんと届いてホッとした。iPhone5用ケースなんてもはや近隣の店頭では置いてないので、本当に助かった。ありがたや。

余談だけど、送られてきた封筒には可愛いイラストが印刷してあって、なんだかイイ感じ。こういうソレが印刷してあると印象が違ってくるなーと再認識。

中国製のソフトケースで、成型が若干アレなのか、一部の穴が妙な形だったり、手で持った時に角が何か引っかかる感じはあるけれど、この値段なら全然OK。実用上は全く問題無し。とりあえず、これで iPhone5 をそのへんにテキトーに置いても、カメラ部分が接地してしまう状態は避けられるはず…。おっかなびっくり触ってた状態を脱することができそう。

#3 [pc] 無線LANルータをアクセスポイントとして設定

随分前に弟から譲ってもらった無線LANルータ、NEC Aterm WR9500N が埃をかぶっていて、有効活用できないものかなと思い立った。

マニュアルpdfを眺めたら、背面のスイッチ(RT/AP/CNV)を切り替えることで、ルータモード、無線LANアクセスポイントモード、無線LAN子機(コンバータ)モードに切り替えられるようで。であれば、無線LANアクセスポイントとして使えるように設定しようかなと。

  1. WR9500Nの背面スイッチをAPに切替。これで無線LANアクセスポイントモードで動作する。
  2. ネットに繋がってるルータと、WR9500NのWAN側ポートをLANケーブルで接続。
  3. 電源を投入。POWER LEDのみが緑色で点灯して、1分ぐらいかかってから他のLEDも点灯。
  4. 設定を初期化しておく。本体のRESET穴を、つまようじ等の通電しない細い何かで押す。10秒ほど押し続けるとPOWER LEDが赤く点滅。電源を落として、10秒ほど待って、電源再投入。
  5. PCから、http://192.168.x.211/ にアクセスしてみる。パスワード登録画面が表示される。
  6. パスワードを登録すると、クイックWeb設定画面が表示される。

WR9500NをAPモード(無線LANアクセスポイントモード)にした際は、LAN内のIPアドレスが 192.168.y. なら、WR9500NのIPアドレスは 192.168.y.211 になる。http://192.168.y.211/ にアクセスすれば、設定ページが開ける。

APモード時のWR9500Nは、親ルータ(?)とは別のSSID、Keyを持つようで、スマホ等でWR9500N側のSSIDを選んだら接続できた。

MACアドレスフィルタリングについては、親ルータとは別に、WR9500N自身が設定情報を持つ模様。親ルータ側のMACアドレスフィルタリング設定の中から、スマホのアドレスを削除して、親ルータに接続できなくなったことを確認後、MACアドレスフィルタリングを無効にしてあるWR9500N側に無線LAN接続できることを確認した。

WR9500Nの、WANポート以外の有線LANポートは、1000BASE-TのLANハブとして使えるっぽい。WR9500Nに、Linux機を有線LANで接続して、メインPCからLinux機にVNCでアクセスしてみたら、無線LAN経由でアクセスした時と比べて圧倒的にサクサクと描画された。さすが1000BASE-T。速い。

2020/06/05(金) [n年前の日記]

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

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

かなり近くで雷が落ちたようでヒヤヒヤしました…。雷が鳴らなくなって安心してたら、20:00頃から竜巻注意報も。トホホ。

2019/06/05(水) [n年前の日記]

#1 [python][mz] pygameを使って実験中

Python 2.7.16 + pygame 1.9.6 を使って、MZ-700っぽい画面の表示ができないか実験中。

やってることは、VRAM相当の配列を作成して、0xD000 - 0xD3E7 にディスプレイコードが、0xD800 - 0xDBE7 にアトリビュートが記憶されているものと仮定。VRAM相当の配列の中身に従って、読み込んだフォント一覧画像から 8x8ドット単位で選んで描画、みたいな感じ。

MZ-700の表示関係の仕様は、以下が参考になる。ありがたや。

_Programming MZ-700: Display

普段から「pygameは遅い」と言っておきながら何故使うのか、と言われそうだけど。Python を使って画像の類をサクサクサ表示して実験したい、てな場面では、やはり pygame は便利なわけで。

問題。 :

MZ-80K/1200 のように、色が使えなくて、文字のみを表示する画面なら、2Dゲームのタイルマップを描画するのと同じようなものだから、これといった問題は出ないだろうけど…。

MZ-700 は、文字色と背景色が文字単位 ―― 8x8ドット単位で指定できる。そのあたりをどうすればいいのかで悩んだり。

読み込んだフォント一覧画像は、文字色が白、背景色が黒といった具合に、既に色が指定されているから、そのまま描画しても白黒の文字しか表示できない。それらを、文字色と背景色を別々に、8色で ―― 黒、青、赤、紫、緑、水色、黄色、白に変化させつつ描画したいわけだけど。上手い案が浮かばず。

ソフトウェア的に、ビット単位でアレコレして、毎回 Surface の中身を生成するのはどうかと思ったけれど、たぶんソレだと遅いよなと。C言語等で書くならアリかもだけど、Pythonではな…。Python は遅いし…。

結局、文字部分については、スクリプトの初期化時に、元画像から8色分の画像を生成して、ずっと持ち続けることにした。なんだか富豪的プログラミング。背景部分も、8x8ドットで、8色分のベタ画像を事前に持っておく。

画面の描画時は、まずは文字の背景に相当する8x8ドットのベタ画像を描画して、その上に文字相当をαチャンネルを有効にした状態で描画、みたいな。これを 40 x 25 文字分繰り返す。

こんな方法ではめちゃくちゃ遅いんじゃないのかと予想もしたけど。実際に書いて動かしてみたら、意外とそうでもない。今時のPCスペックならそれほど負荷は高くないようで。

しかし、もっと上手い方法がありそうな気もする。

ASCIIコードとディスプレイコードの変換で悩む。 :

MZ-700のVRAMは、ディスプレイコードと呼ばれる番号で、どの文字を表示するかを指定できる。このディスプレイコードは、ASCIIコードとは全く並びが違う。

_mz-80K Display - Enri's Home PAGE (mz-80K)
_MZ-700 japanese ASCII code tables

故に、ASCIIコードで列挙された文字列を描画したい時は、1文字ずつ、ASCIIからディスプレイコードに変換しないといけない。で、その変換処理をどう書くかで、またちょっと悩んだり。

ところどころ、位置は違うけど並びは似ている個所があるので、if文で値を返すのはどうかと思って書き始めたけれど。英数字はともかく、カタカナを変換するあたりでギブアップ。これはどう考えてもテーブルが必要だろう。しかし目視でそんなもの作ってられない。せいぜい256個だから、目視と手作業でやれなくもないかもしれんけど、カタカナに加えて、図形文字の判別が厳しい。1ドットだけ位置が違う線、等々があるし…。

結局、Python + Pillow (PIL) で画像を読み込んで、テーブルを出力するスクリプトを書いた。両方の画像を1文字単位で比較して、同じものが見つかったら、それが目的の変換後の番号、みたいな。

ただ、元画像として、ディスプレイコード、及び、ASCIIコードの並びを、全く同じ文字データで列挙した画像が必要で。そのあたりは、EDGE2 を使って、目視と手作業で画像内を並び替えする羽目に。これで本当に作業が楽になったのだろうか…。どうなんだ…。

それにしても、どうしてMZシリーズは、こんな仕様で作ってしまったのだろう…。メモリの節約を試みたのかなあ。

2018/06/05(火) [n年前の日記]

#1 [love2d] love2dを触ってる

love2dを久々に触ってるところ。

Windows上でのwait処理。 :

love2d 11.1 を触ってるけど、love2d 0.10.2 と比べて少し仕様が変わってることに気づいた。0.10.2 の時は、Windows上で動かすと vsync を見てくれなくて、FPSを取得すると数百FPSという物凄い値になってたのだけど。11.1 はちゃんと vsync を見てくれるようになったようで、おかげで Windowsの時だけ入れていた wait処理を入れなくても済むようになった。たぶん。

具体的には…。以前は以下のような処理を入れてたけれど。
function love.load()
  min_dt = 1 / 60
  next_time = love.timer.getTime()
end

function love.update(dt)
  next_time = next_time + min_dt
end

function love.draw()
  if love.system.getOS() == "Windows" then
    -- wait
    local cur_time = love.timer.getTime()
    if next_time <= cur_time then
      next_time = cur_time
    else
      love.timer.sleep(next_time - cur_time)
    end
  end
end

love2d 11.1 なら、要らない。
function love.load()

end

function love.update(dt)

end

function love.draw()

end

vsync をチェックするかしないかは、main.lua と同じ階層に conf.lua というファイルを作って、その中で指定する。
function love.conf(t)
  t.window.title = "Tilemap Test 02"
  t.version = "11.1"
  t.window.width = 640
  t.window.height = 480
  t.window.vsync = 1
  t.console = true
  -- t.window.fullscreen = true
  -- t.window.fullscreentype = "exclusive"
end
love2d 0.10.2 の時は t.window.vsync = true と指定してたけど、love2d 11.1 は t.window.vsync = 1 と指定する。公式Wikiでも、「11.1 からは 1/0 で指定するように変わったよ」と書いてあった。…そこは変える必要があるのだろうかと疑問を持たないでもないけど。love2d の仕様変更方針はよく分からない。

_Config Files - LOVE

それはともかく関連情報をググっていたら、そもそも Windows10 の大型アップデートで vsync をチェックしない状態に陥っていたという話を見かけた。

_Windows 10 creators update kills vsync : love2d

ということは、またそのうち、Windows10 の大型アップデートで、「love2d が vsync を見てくれねえ」と困る事態が発生するのだろうか…。

それと、今時は 120fps で表示ができるディスプレイも存在するようだけど、その場合 love2d で vsync を有効にすると 120fps で動いてしまったりするのだろうか…? 60FPSを前提にしてソースを書いちゃうと困ったことになりそうだな…。

2017/06/05(月) [n年前の日記]

#1 [hns] hns-index2のメッセージ出力が文字化けする

hns-index2 を動かすと namazu 用の検索情報を作ってくれるのだけど、cron で動かしたら結果をメールで送ってくれるもののメッセージが文字化けしていて。hns-index2、というか呼び出されている mknmz が euc-jp で日本語メッセージを出力するのだけど、動かしている Vine Linux 6.5 のデフォルト文字コードが utf-8 なので文字化けするのだろうと。

解決策はないのかとググってみたら、nkf -w を通せば文字化けを直せると知り。

_【Namazu】日本語コードがUTF-8のLinuxで使用する - Muni Bus
_【Namazu】mknmzを使うと文字化けが起こる - Muni Bus

./hns-index2 | nkf -w
たしかにこれなら、メッセージが utf-8 になって読めるようになった。

ただ、crontab 内にはパイプは書けないそうで。

_crontabでパイプは使えない - I.S.の日記

別途スクリプトを書いて、そのスクリプトを crontab 内で指定する方法が紹介されてたので試したり。bin/ 以下にテキトーなファイル名でスクリプトを作成。
#!/bin/sh
/home/hoge/fuga/piyo/hns-index2 | /usr/bin/nkf -w
chmod 755 hoge.sh てな感じで実行権限もつけた。./hoge.sh で実行してみたところ、動いてるように見えた。

ユーザ毎の cron設定は、crontab -e で編集できる。hoge.sh を実行するように指定。

さて、これで改善するかな。どうかな。

#2 [perl] CPANのurllistを変更

hns-index2絡みの設定をする関係で、Perl の CPAN を使ってモジュール(?)をインストールしようとしたが、urllist の中には消滅してるサイトがあって動作が妙なことになった。また、ftpサーバばかりが登録されてると、ユーザ名とパスワードを求めてくる場合もあってなんだか面倒臭い。httpサーバだけ登録しておくことにする。

cpan
(もしくは perl -MCPAN -e shell )

o conf
o conf urllist
o conf urllist pop
o conf urllist pop
(全部消えるまで繰り返す)
o conf commit

o conf urllist push http://ftp.riken.jp/lang/CPAN/
o conf urllist push http://ftp.nara.wide.ad.jp/pub/CPAN/
o conf commit
quit

登録するURLは、 _CPAN Sites - www.cpan.org から探す。

本来であれば o conf urllist pop URL で該当URLだけ削除できるらしいのだが、手元の環境(Vine Linux 6.5)では一番最後の設定から順に消えていった。謎。

ところで、cpan上(?)では Backspaceキーが効かないんだけど…。打ち間違いが許されない…。入力が面倒臭い…。

参考ページ。 :

#3 [moho] Mohoのチュートリアルpdfを眺めていたり

Moho Pro 12 というアニメ制作ソフトをソースネクストが期間限定で安く売ってたのでついつい買ってしまったのだけど、ボーンの入れ方すら分からないわけで。ということで付属のチュートリアルpdfを眺めていたり。

チュートリアルpdfは英語なので、英語が赤点だった自分にはチンプンカンプン。ここは Google翻訳に頼ることにする。

_Google Chrome に、 _Google翻訳 という拡張をインストールして、件のチュートリアルpdfを Google Chrome で開く。分からない英文を選択して右クリック → Google翻訳。別タブで翻訳結果が表示されるので、ソレを頼りに Moho を操作して確認。みたいな。

2016/06/05() [n年前の日記]

#1 [ubuntu][pc] 元サブPCをWOLで起動できるように設定

元サブPCを、WOL(Wake On Lan)で起動できるように設定した。

WOLてのは、LANを使って遠隔操作してPCの電源を入れることができる機能。マジックパケットてのをLANに流すと、該当するPCが、「あ。起きろって言ってる。俺、起きなきゃ」と電源ONになる、みたいな感じらしい。

まあ、元サブPCは足元に置いてあるので、手で電源スイッチを押せばええやんって状態なのだけど。ケースの電源スイッチが妙に固い個体なので、あまり押したくないというか…。もちろん、誤操作する可能性を考えると、固いほうが良かったりもするのだけど。ちょっと触っただけで反応しちゃうのもちょっと。

M/BのBIOS設定を変更。 :

積んである M/B は、 _ASRock M3A785GMH/128M 。ASRock製M/BでWOLを使いたい場合は、BIOS設定で PCI Device Power On を有効にするらしい。

_ASRock > サポートとサービス > よくあるご質問と回答
Q : I'm using an add-on LAN card on my ASRock motherboard. The LAN card provides a "Wake On LAN" connector with a cable. Is there a connector on the motherboard so that I can plug this cable? (12/12/2003)

A : There's no need to connect this cable to the motherboard and you are still able to use the "Wake On LAN" feature with the add-on LAN card. To use it, please remember to enable the "PCI Device Power On" option in BIOS.

Q : How could I use Wake on LAN function? (7/9/2003)

A : All of ASRock motherboards support Wake on LAN. Please enable the "PCI Device Power On" in the Power menu of BIOS. After saving the changes and exit the BIOS, please boot into the Windows OS then shut down the system. Now, the system is ready to be woken up through LAN by other computers.

ASRock > サポートとサービス > よくあるご質問と回答 より

英語はさっぱり分からんけど、その項目を enable にしなしゃんせ、と言ってるっぽい気がする。たぶん。

ちなみに、BIOS設定画面は、電源投入直後にF2キーかDELキーを叩いてれば入れる。

ethtoolをインストール。 :

インストールしてあるOSは、Ubuntu 14.04 LTS。WOLが有効かどうかを調べるには、ethtool とやらを使うらしい。

_Wake On Lanで遠隔PCの起動 - adragoonaの日記
_Ubuntu サーバの初期設定 Wake-on-LAN: プログラマの歩き方

sudo apt-get install ethtool
sudo ethtool eth0
Wake On:g と表示されてたらWOLが有効になってる。今回は、有効になってた。

有効になってない場合は、sudo ethtool eth0 -s wol g と打ち込めば有効にできる。だけど、このままだと再起動した時に元に戻ってしまうので、OS起動時に設定し直すようにする。

設定するためのファイルを作成。
sudo vi /etc/init.d/wakeonlanconfig

以下の内容を記述。
#!/bin/bash
ethtool -s eth0 wol g
exit

実行権限を設定、かつ、OS起動時に実行されるようにする。
$ sudo chmod 755 /etc/init.d/wakeonlanconfig
$ sudo update-rc.d -f wakeonlanconfig defaults

OSを再起動して、sudo ethtool eth0 で状態を確認。WOLが有効になってた。

Windowsから起こしてみる。 :

Windows10 x64上から、元サブPCを起こしてみる。 _Wake on LAN for Windows を使って、元サブPCのMACアドレス等を指定。マジックパケットを送ってみた。

電源が入った。上手くいってるみたい。

#2 [ubuntu] 元サブPCに対してリモートデスクトップ接続を試す

元サブPC上で、GUIを使って何かしらの操作をする際に、一々ディスプレイの入力を切り替えたり、キーボードやマウスを配置し直したりするのが面倒くさくなってきたわけで。できれば、メインPCからリモート操作というか遠隔操作して済ませたい。

たしか、Windows7/8/8.1/10 には、「リモートデスクトップ接続」(mstsc.exe)という、他のPCを遠隔操作できるソフトが入ってる。コレを使って、元サブPCに入ってる Ubuntu 14.04 LTS の画面を操作してみたいなと。

Ubuntu に LXDE 等をインストール。 :

Ubuntu 標準のデスクトップ環境(?)である Unity は、2D表示に制限して動かすモードが省かれてしまって、その手の操作ができないらしいので、LXDE だか lubuntu-desktop だかをインストールすることにした。
sudo aptitude install lubuntu-desktop lxde
ついでに今回、xubuntu-desktop や xfce4 も入れてみたけど、そっちはほとんど使わないと思う。LXDE のほうが軽いので。

さらに、Windowsのリモートデスクトップ接続でアクセスできるようにするためには、xrdp なるものが必要らしいのでインストール…
sudo aptitude install xrdp
…してみたけど、公式リポジトリの xrdp は 0.6.0 と古いらしいので、最新版をビルドしてインストールすることにした。
cd ~ 
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git libxrandr-dev libtool autoconf automake libjpeg-dev tightvncserver
mkdir package
cd package
git clone https://github.com/scarygliders/X11RDP-o-Matic.git
cd X11RDP-o-Matic
sudo ./X11rdp-o-matic.sh --justdoit
(または sudo ./X11rdp-o-matic.sh --justdoit --withsound --withjpeg --branch master)

100個以上の何かをコンパイルするようで、2コア、3.0GHzのCPU + 8GBのRAMでも、ビルドに1時間ぐらいかかった。また、途中で時々止まったように見えたけど、別の ssh でアクセスして top で確認したら、どうも xz とやらが圧縮するところで随分と時間がかかってた模様。とにかくひたすら待つしかないらしい。

dpkg -l xrdp x11rdp
0.9.x が表示されればOK。念のためにOS再起動。

~/.xsession を作成。LXDEを起動するようにしてみる。
echo "lxsession -s LXDE -e LXDE" > ~/.xsession

Windowsからアクセスして動作確認。 :

Windows10上でリモートデスクトップ接続を起動。Ubuntuのホスト名を入力して接続。ログイン画面っぽいものが表示された。

sesman-Xvnc を選んでユーザ名とパスワードを入力したら…

落ちた。リモートデスクトップ接続が落ちた。不正終了した。異常終了した。クラッシュした。なんでや。何度試しても落ちる。なんでや。

原因は、DTMソフト、FL Studio が、C:\Windows\System32\ 以下にインストールしてしまった vorbis.acm だった。コイツが入ってると、リモートデスクトップ接続が落ちたり、Windowsに標準でインストールされてるトランプゲームの類(ソリティア?)が落ちる。すっかり忘れてた。

vorbis.acm をアンインストールできればいいのだけど…。アンインストールしてしまうと FL Studio についてくる wav がほとんど鳴らなくなる。というのも、FL Studio 同梱の wav は、拡張子が wav になってるけど中身は vorbis なので。

とりあえず、リモートデスクトップ接続を起動した時のオプション画面で、ローカルリソース → リモートオーディオ → 設定 → 「再生しない」「録音しない」を選択。これなら落ちずに済んだ。

しかし、リモートデスクトップ接続利用時に音を出したいときは困るわけで。

リモートデスクトップ接続は諦めてVNCを使うことにした。 :

どうせ音が出ないなら、リモートデスクトップ接続を使う意味も無いのかもしれないよなと。

てなわけで、Windows上では UltraVNC Viewer を起動して、つまりは VNC だけでアクセスすることにした。こんなことになると分かってたら…。xrdp をビルドしなくてもよかったのでは…。

常に vnc を使いたいわけでもないので、Ubuntu 14.04 LTSに ssh でアクセスした際に、手動でvnc有効・無効を切り替えることにする。

~/.bashrc に以下を追加。
alias vncstart='vncserver :1 -geometry 1280x800 -depth 24'
alias vncstop='vncserver -kill :1'
vncstart で vncが使えるようになって、vncstop でプロセスを kill する。のだと思う。-geometry 1280x800 で画面解像度を指定。-depth で色深度を指定。

~/.vnc/xstartup は以下のような内容にした。
#!/bin/sh

# unset SESSION_MANAGER

unset DBUS_SESSION_BUS_ADDRESS
export GTK_IM_MODULE=ibus
export XMODIFIERS="@im=ibus"
export QT_IM_MODULE=ibus
/usr/bin/ibus-daemon -dxr

xrdb $HOME/.Xresources
xsetroot -solid grey

#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
最初、vnc利用時に日本語入力ができなくて悩んだけど、巷の解説ページからコピペしたらibusとやらが動いて入力できるようになった。

参考ページ。 :


2015/06/05(金) [n年前の日記]

#1 [cg_tools] ビルの自動生成が気になる

Google画像検索で、 _「procedural building」でググって みたら、面白そうな画像が山ほど出てきた。

こんだけ自動生成できるなら、わざわざ描かなくてもいいんじゃないかと思えてきたり。遠景はもちろん、近景も結構イケるのでは…。

それはともかく、どうやったらこういう自動生成ができるのか気になったり。

#2 [zatta] 「生ハム」が気になる

豚肉の生食禁止のニュース記事を眺めてたら、「生ハムはどうすんだよ」とプリプリ怒ってるらしきコメントを見かけたわけですよ。

生ハムって、「生」って言ってるけど生肉じゃなかったような…。

気になったのでググる。

_ハム - Wikipedia
生ハムは、燻製はするが加熱しないもの(ラックスハム)、塩漬け・乾燥のみで燻製しないもの(プロシュットやハモン・セラーノなど)に分かれる。

ハム - Wikipedia より


_しろたん調査部: 生ハムは「生」だけど豚肉を生食してよいのか
ところが、生ハムの場合は、燻蒸せず、そのまま冷暗所で乾燥させながら熟成させるだけなんだよね。

生ハムの場合は普通のハムよりかなりきつめに塩をしているので、その保存効果は高まるんだけど、さらに乾燥させることで水分を飛ばすので、その保存効果が高まるのだ。
細菌(バクテリア)なんかは高い塩分濃度と乾燥で増殖が抑えられるので十分に効果があるんだよね。 ウイルスの場合は、自分で増えるものではなく、感染した宿主のメカニズムを使って増えるので増殖を抑えるとかそういうことでは防げないのだ。

しろたん調査部: 生ハムは「生」だけど豚肉を生食してよいのか より


とりあえず、何かしらの加工はしてあるらしい。ただ、あからさまな加熱はしてないっぽいな…。

_生ハムを避けることが妊婦のトキソプラズマ症予防となるのか? | 魚野剣太郎中小企業診断士事務所
ただ,アメリカでは自家製の生ハムなどが感染源だった例があるという研究報告はみつけました。

生ハムを避けることが妊婦のトキソプラズマ症予防となるのか? | 魚野剣太郎中小企業診断士事務所 より


_妊娠時 寄生虫 "トキソプラズマ"の危険 | 健康・医療 | NHK生活情報ブログ:NHK
それは、レアステーキや生ハムなどの加熱が不十分な肉、ガーデニングなどの土いじりです。寄生虫「トキソプラズマ」が原因です。

妊娠時 寄生虫 "トキソプラズマ"の危険 | 健康・医療 | NHK生活情報ブログ:NHK より


生ハムも、状況によってはヤバいのだな…。自家製生ハムとかはヤバそう。…あくまで、状況によっては、という話だけど。

それにしても、その手の食品の「生」の定義がどうもよく分からんなと。「生」ってつけると色々と誤解を招きそうだからやめたほうがいいんじゃないかとすら。

宗教で規制するか法律で規制するか。 :

某宗教の「豚肉を食べてはいけない」という教義は、ちゃんと加熱してない豚肉を食べた人が大変なことになる事例が後を絶たないので、「面倒だから豚肉は全部食べちゃダメ」的に作られたのかなと自分は勝手に思ってるのですけど。

現代日本は、そこを厚生労働省のお達しで実現しようということなんだろうなと。

そもそも、豚肉がどういう肉で、どう調理すれば安全に食べられるかを庶民が常識として持っていて、問題の出ない食べ方を守れていたら、その手の宗教も、その手のお達しも、出てこないはずだよなと。でも、実際は、とんでもない調理や食べ方をする連中が後を絶たないのでこうなってる。

現代の日本人は、某宗教が生まれた頃のオツム具合と似たようなレベルなんだろうなと思ったり思わなかったり。でもまあ、「豚肉は全部ダメ」と言われるより、多少は前進してるのだろうか…。

2014/06/05(木) [n年前の日記]

#1 [dxruby] DXRuby上で射影変換ができた

元記事・参考記事の内容が全然理解できてないけど。写経してたらそれっぽく描画されるようになったのでアップロード。

projtrans.gif
Window.drawMorph による描画結果とは、ちょっと違うことが分かるかしら。

ソースは以下。

_projtrans.rb.txt
require 'dxruby'

# 4点を指定して射影変換描画
class ProjTrans

  attr_accessor :images
  attr_accessor :src_w
  attr_accessor :src_h
  attr_accessor :divx, :divy
  attr_accessor :mdivx, :mdivy
  attr_accessor :src_pos
  attr_accessor :src_idx

  # コンストラクタ
  #
  # @param [Object] img Imageオブジェクト
  # @param [Number] divx x方向の分割数
  # @param [Number] divy y方向の分割数
  #
  def initialize(img, divx = 8, divy = 8)
    self.divx = divx
    self.divy = divy
    self.src_w, self.src_h = img.width, img.height
    self.images = img.sliceTiles(divx, divy) # 画像を分割

    # 頂点列を登録
    self.src_pos = []
    w, h = 0, 0
    bx, by = 0, 0
    i = 0
    (0..self.divy).each do |iy|
      bx = 0
      (0..self.divx).each do |ix|
        if ix < self.divx and iy < self.divy
          i = iy * self.divx + ix
          w = self.images[i].width
          h = self.images[i].height
        end
        puts "#{i} : (#{bx}, #{by})" if false

        # 元画像のサイズで座標値を割っておく
        self.src_pos.push([bx.to_f / self.src_w, by.to_f / self.src_h])

        bx += w
        i += 1
      end
      by += h
    end

    # 頂点番号を登録
    self.src_idx = []
    self.divy.times do |iy|
      self.divx.times do |ix|
        addy = self.divx + 1
        i = ix + iy * addy
        self.src_idx.push([i, i + 1, i + 1 + addy,  i + addy])
      end
    end

    if false
      self.src_idx.each_with_index {|a, i| puts "#{i} : #{a}" }
    end
  end

  # 描画
  #
  # @param [Number] x1 点1のx座標
  # @param [Number] y1 点1のy座標
  # @param [Number] x2 点2のx座標
  # @param [Number] y2 点2のy座標
  # @param [Number] x3 点3のx座標
  # @param [Number] y3 点3のy座標
  # @param [Number] x4 点4のx座標
  # @param [Number] y4 点4のy座標
  # @param [Number] alpha アルファ値 0-255
  # @param [Number] z 描画深度
  # @param [Number] blend 合成種類
  # @param [Number] mdivx drawMorphに与えるx方向の分割数
  # @param [Number] mdivy drawMorphに与えるy方向の分割数
  #
  def draw(x1, y1, x2, y2, x3, y3, x4, y4,
           alpha = 255, z = 0, blend = :alpha,
           mdivx = 2, mdivy = 2)

    # a から h までの、8つの係数を求める
    sa, sb, sc, sd, se, sf, sg, sh = get_system(x1.to_f, y1.to_f,
                                                x2.to_f, y2.to_f,
                                                x3.to_f, y3.to_f,
                                                x4.to_f, y4.to_f)

    # 射影変換
    d = []
    self.src_pos.each do |x, y|
      m = (x * sg + y * sh + 1)
      u = (x * sa + y * sb + sc) / m
      v = (x * sd + y * se + sf) / m
      d.push([u, v])
    end

    self.src_idx.each_with_index do |a, i|
      i0, i1, i2, i3 = a
      Window.drawMorph(d[i0][0], d[i0][1],
                       d[i1][0], d[i1][1],
                       d[i2][0], d[i2][1],
                       d[i3][0], d[i3][1],
                       self.images[i],
                       :dividex => mdivx, :dividey => mdivy,
                       :alpha => alpha, :z => z, :blend => blend)
    end

  end

  # 8つの係数を求める
  #
  # @note 変換式に与える座標値を元画像のサイズで割らないとこの係数は使えない
  #
  # @param [Number] x0 点1のx座標
  # @param [Number] y0 点1のy座標
  # @param [Number] x1 点2のx座標
  # @param [Number] y1 点2のy座標
  # @param [Number] x2 点3のx座標
  # @param [Number] y2 点3のy座標
  # @param [Number] x3 点4のx座標
  # @param [Number] y3 点4のy座標
  # @return [Array] 8つの係数を配列で返す
  #
  def get_system(x0, y0, x1, y1, x2, y2, x3, y3)
    sx = (x0 - x1) + (x2 - x3)
    sy = (y0 - y1) + (y2 - y3)
    dx1 = x1 - x2
    dx2 = x3 - x2
    dy1 = y1 - y2
    dy2 = y3 - y2
    z = (dx1 * dy2) - (dy1 * dx2)
    g = ((sx * dy2) - (sy * dx2))/z
    h = ((sy * dx1) - (sx * dy1))/z

    return [
            x1 - x0 + g * x1,
            x3 - x0 + h * x3,
            x0,
            y1 - y0 + g * y1,
            y3 - y0 + h * y3,
            y0,
            g,
            h
            ]
  end
end

if $0 == __FILE__
  # ----------------------------------------
  # 動作確認

  img = Image.load("lena.png")
  prt = ProjTrans.new(img)

  if false
    # ----------------------------------------
    # 簡単な使い方の例

    Window.loop do
      break if Input.keyPush?(K_ESCAPE)

      alpha = 255
      z = 0
      blend = :alpha
      divx = 2
      divy = 2

      # 左上の点から時計回りに4点を指定
      prt.draw(160, 100,
               320, 20,
               600, 460,
               100, 300,
               alpha, z, blend, divx, divy)
    end

  else
    # ----------------------------------------
    # 動作確認

    font = Font.new(14)
    step = 0
    pos = []
    poly_pos = []
    morph_enable = false
    mdiv = 1

    Window.loop do
      break if Input.keyPush?(K_ESCAPE)

      if Input.mousePush?(M_LBUTTON)
        # マウスの左ボタンが押されたので座標を記録
        pos = [] if step == 0
        pos.push([Input.mousePosX, Input.mousePosY])
        step += 1
        if step >= 4
          # 4点が入力された
          step = 0
          poly_pos = pos.dup
        end
      end

      # zキーが押されたら drawMorph で描画するかどうかを切替
      morph_enable = !morph_enable if Input.keyPush?(K_Z)

      # 上下キーで分割数を変更 (1から64まで。128にすると落ちる…)
      mdiv *= 2 if (Input.keyPush?(K_UP) and mdiv < 64)
      mdiv /= 2 if (Input.keyPush?(K_DOWN) and mdiv >= 2)

      if poly_pos.size == 4
        # 4点が決まってるので、画像を変形して描画
        x1, y1 = poly_pos[0]
        x2, y2 = poly_pos[1]
        x3, y3 = poly_pos[2]
        x4, y4 = poly_pos[3]

        unless morph_enable
          # 射影変換で描画する場合
          prt.draw(x1, y1, x2, y2, x3, y3, x4, y4, 255, 0, :alpha, mdiv, mdiv)
        else
          # drawMorphで描画する場合
          Window.drawMorph(x1, y1, x2, y2, x3, y3, x4, y4, img,
                           :dividex => mdiv, :dividey => mdiv)
        end
      end

      # 指定済みの頂点位置を描画
      d = 5
      pos.each do |p|
        x, y = p
        Window.drawLine(x - d, y, x + d, y, C_GREEN)
        Window.drawLine(x, y - d, x, y + d, C_GREEN)
      end

      i = step + 1
      y = 2
      msg = [
        "#{Window.real_fps.to_i} FPS  CPU: #{Window.getLoad.to_i} %",
        "zキー : drawMorph 描画との切替 [#{(morph_enable)? "drawMorph" : "射影変換"}]",
        "↑↓キー : drawMorph 分割数 [#{mdiv}]",
        "時計回りで、4回、マウスクリックしてください (#{step+1}/4)"
      ].each_with_index do |s, iy|
        Window.drawFont(4, 2 + iy * (font.size + 8), s, font)
      end
    end
  end

end
一応、グリッドを上から描き込んだlena様画像も置いときます。

_lena.png (125KB)

それと、他のスクリプトからも、require すれば使えるように書いておきました。
# ProjTransの使用例

require 'dxruby'
require_relative 'projtrans'

img = Image.load("lena.png")
prt = ProjTrans.new(img)

Window.loop do
  break if Input.keyPush?(K_ESCAPE)

  alpha = 255
  z = 0
  blend = :alpha
  divx, divy = 2, 2

  # 左上の点から時計回りに4点を指定
  prt.draw(160, 100, 320, 20, 600, 460, 100, 300,
           alpha, z, blend, divx, divy)
end

スクリプト内でやってることを簡単に説明すると…。
  1. 元画像を 4x4 とか 8x8分割。
  2. 4点を指定することで、射影変換の変換式で使う8つの係数を求める。
  3. 分割された各画像に対して、射影変換後の4点を求める。
  4. その4点で、Window.drawMorph を使って描画。
Window.drawMorph だけで全てを変形描画すると平面的な?変形になってしまいますが。大雑把に、4x4 や 8x8 で分割して射影変換した、そのマス目の中だけを Window.drawMorph で描画すれば、パッと見は遠近感がついてるように見えるだろ、という…。要するに、インチキです。

インチキとは言うけれど、PS1やSSの3Dゲームも似たようなことをして誤魔化してたので、ゲームなら全然アリじゃないかなと。 *1

問題点。 :

一応できたものの、問題が。
  • 予想より、CPU負荷が高い。1枚描画するだけで、CPU使用率が 15〜20% ぐらいになってしまう。
  • 使い道が思いつかない。
2Dゲームの背景演出に使えるんじゃないかと思って試していたのですけど、さて、コレを何に使えるのかなあ、みたいな。

各ポリゴン?の描画面積が小さい場合や、正方形に近い描画の場合は、Window.drawMorph のみで描画しちゃってもいいだろうと思うわけですよ。小さいポリゴンがチラチラ飛んでる分には、どうせ違いなんてパッと見では分かりませんし。おそらく、広い面積を描画する場合に限って、こういった遠近感がついてる描画を使えるのかなと。ただ、どんな演出・背景構成を思いつくかというと、うーん。

それはともかく、これを Shader でやったらどうなるんだろう…。いや、DXRuby のサンプルスクリプトの中に、既にあった気もしますが…。

参考ページ。 :

_射影変換(ホモグラフィ)について理解してみる - デジタル・デザイン・ラボラトリーな日々
_射影変換(ホモグラフィ)について理解してみる その11 - デジタル・デザイン・ラボラトリーな日々
m2とm5は近似値なのに、それ以外は結構数値の大きさが違います。これでなぜ射影変換出来るのかと調べたところ、描画処理の部分が下記のようなっており、なんと描画サイズ(dstWidth,dstHeight)で割っておりました。

射影変換(ホモグラフィ)について理解してみる その11 - デジタル・デザイン・ラボラトリーな日々 より

昨日スクリプトを書いた時は描画がおかしくて首を捻ったけれど。この一文を目にしたので同じことをしてみたら、それっぽく描画されて「おお…」と思いました。

他の参考資料もメモ。

_平面射影変換
_重なる気持ち -台形補正- | _level0 | Kayac Front End Engineer's Blog
_射影変換(ホモグラフィ)について理解してみる その2 - デジタル・デザイン・ラボラトリーな日々
_射影変換(ホモグラフィ)について理解してみる その3 - デジタル・デザイン・ラボラトリーな日々
_射影変換(ホモグラフィ)について理解してみる その4 - デジタル・デザイン・ラボラトリーな日々
_射影変換(ホモグラフィ)について理解してみる その5 - デジタル・デザイン・ラボラトリーな日々
_射影変換(ホモグラフィ)について理解してみる その6 - デジタル・デザイン・ラボラトリーな日々
_射影変換(ホモグラフィ)について理解してみる その7 - デジタル・デザイン・ラボラトリーな日々
_射影変換(ホモグラフィ)について理解してみる その8 - デジタル・デザイン・ラボラトリーな日々
_射影変換(ホモグラフィ)について理解してみる その9 - デジタル・デザイン・ラボラトリーな日々
_射影変換(ホモグラフィ)について理解してみる その10 - デジタル・デザイン・ラボラトリーな日々
_ホモグラフィ - Shogo Computing Laboratory
_Saqoosha :: スーパー高速に射影変換するには
_Processingで射影変換(ホモグラフィ) | United Field:中西泰人研究室
_遠近法の射影変換パラメータ計算の高速化(pdf)
_Homography << HIDIHO!
_Projection Matrix - wonderfl build flash online
_射影変換 (Homography) - jsdo.it - Share JavaScript, HTML5 and CSS
_テクスチャマッピング入門 射影変換(ホモグラフィ) - jsdo.it - Share JavaScript, HTML5 and CSS

*1: PS1もSSも、ハードウェアでは、三角形 or 四角形の平面的な変形描画機能しか持ってなかったので、そのまま広い面積を描画してしまうと妙な画面になってしまうわけで。なので、必要な時はポリゴンを分割して、とかやってました。まあ、3Dゲームの場合は、z値を使って分割が必要かどうか判定してたはずですが。

#2 [ruby] RubyのStructって速度的にはどうなんだろう

上記のスクリプトを書いてた際に、最初は x,y 座標だけを格納するクラスを作って座標管理してたのですけど。速度的によろしくないのかなと配列で管理するようにしちゃったのです。もしかして、クラスじゃなくて Struct を使えば良かったのだろうか…。

と思ってググっていたら、DXRuby作者様が、 _classとStruct - mirichiの日記 において速度測定していて。Ruby 1.9.1 では、Struct のほうがクラスより遅いのか…。

自分も実験。

# class, Struct, Array のベンチマーク

require 'benchmark'

IDX = 0

class Hoge
  attr_accessor :data

  def initialize(d = 0)
    self.data = d
  end
end

Fuga = Struct.new(:data)

Benchmark.bmbm { |x|
  x.report("class-new   ") { 1000000.times { val = Hoge.new(0) } }

  x.report("Struct-new  ") { 1000000.times { val = Fuga.new(0) } }

  x.report("Array-new   ") { 1000000.times { val = [0] } }

  val = Hoge.new
  x.report("class-data= ") { 1000000.times { val.data = 0 } }

  val = Fuga.new
  x.report("Struct-data=") { 1000000.times { val.data = 0 } }

  a = [0, 0, 0, 0]
  x.report("Array-data= ") { 1000000.times { a[IDX] = 0 } }

  v = Hoge.new(0)
  x.report("=class-data ") { 1000000.times { b = v.data } }

  v = Fuga.new(0)
  x.report("=class-data ") { 1000000.times { b = v.data } }

  a = [0, 0, 0, 0]
  x.report("=Array-data ") { 1000000.times { b = a[IDX] } }
}

> ruby --version
ruby 1.9.3p545 (2014-02-24) [i386-mingw32]

> ruby struct_bench.rb
Rehearsal ------------------------------------------------
class-new      0.312000   0.000000   0.312000 (  0.314018)
Struct-new     0.265000   0.000000   0.265000 (  0.261015)
Array-new      0.109000   0.000000   0.109000 (  0.108006)
class-data=    0.172000   0.000000   0.172000 (  0.175010)
Struct-data=   0.187000   0.000000   0.187000 (  0.175010)
Array-data=    0.094000   0.000000   0.094000 (  0.099006)
=class-data    0.078000   0.000000   0.078000 (  0.077004)
=class-data    0.078000   0.000000   0.078000 (  0.077005)
=Array-data    0.062000   0.000000   0.062000 (  0.065004)
--------------------------------------- total: 1.357000sec

                   user     system      total        real
class-new      0.312000   0.000000   0.312000 (  0.310017)
Struct-new     0.250000   0.000000   0.250000 (  0.256015)
Array-new      0.109000   0.000000   0.109000 (  0.106006)
class-data=    0.171000   0.000000   0.171000 (  0.177010)
Struct-data=   0.172000   0.000000   0.172000 (  0.175010)
Array-data=    0.109000   0.000000   0.109000 (  0.099005)
=class-data    0.078000   0.000000   0.078000 (  0.078005)
=class-data    0.078000   0.000000   0.078000 (  0.077004)
=Array-data    0.063000   0.000000   0.063000 (  0.065004)
生成時に値を渡すなら、Struct のほうが速いのか…。でも、Array を生成するほうが、もっと速いな…。値を代入するのも、読み取るのも、Array のほうが速いっぽい。

もちろん、配列ばかり使うと、どこに何の値が入ってるか分かりづらくなるし、途中に何か要素を追加すると修正が大変だし。書きやすさ・メンテナンスと、処理速度の、トレードオフだったりするのかな。

2013/06/05(水) [n年前の日記]

#1 [emacs] emacsをアップデート

Windows7 x64上で、NTEmacs をアップデート。 _GNU emacs windows(x64)バイナリパッケージ から emacs-23.4-x64-r954-133.msi をDL。今までインストールしてた版をアンインストールしてから、インストール。すんなりインストールできた。ありがたや。

本当は、emacs 24 を使ってみたかったのですが。新機能としてパッケージ管理機能なるものが追加されていて、elisp の導入が簡単になっているらしいので。ただ、ググってみたら、emacs 23 でも package.el を導入すれば同じことができるらしいので、今回は emacs 23 でもOKかなと。

せっかくだから色々インストール。

Zen codingをインストール。 :

_smihica/zencoding - GitHub から zip でDL・解凍。~/.emacs.d/ 以下に zencoding-mode.el をコピー。~/.emacs 等に、以下を追加。
;; ----------------------------------------
;; zencoding-mode
;; C-j or C-RET で展開

(add-to-list 'load-path "~/emacs.d/zencoding-mode")
(require 'zencoding-mode)
(add-hook 'sgml-mode-hook 'zencoding-mode)
(add-hook 'html-mode-hook 'zencoding-mode)
(add-hook 'text-mode-hook 'zencoding-mode)
(add-hook 'css-mode-hook  'zencoding-mode)

;; (define-key zencoding-mode-keymap "\C-z" 'zencoding-expand-line)
html:5 だの div#id2>ul>li*5 とか打ってから C-j もしくは C-Enter を打ったら展開されました。ありがたや。

展開直後はあくまでプレビュー状態で、「本当にコレでよければEnterを押せや」と言ってくるあたりが、他のエディタとは違う動作だなと。しかし、この仕様、どうなんだろ…。

打鍵数をわずかでも減らすことを目的として Zen coding が登場したのであろうことを考えると、無駄に打鍵数を増やしてしまうこの仕様はナシだと思うけど…。間違えて展開したら undo すればいいだけでは。意図通りに展開できる回数よりも、ミスする回数が多いなら、プレビューの効果はあるだろうけど。習熟すれば前者が多くなるはずで。慣れれば慣れるほど、全く無意味な一打を強要される状態に近づいてしまう。せっかく Zen coding を実装しながら、Zen coding の発想・アイデア・方向性を否定する奇異な仕様に思えたり。

もっとも、emacs の基本設計が腐っていて、undo制御がまともにできない可能性もあるのだろうか。意図通りに undo できないから、挿入する前に念押しするしかない…?

yasnippet.el もインストール。 :

_Emacs に、Zencoding.el と YASnippet.el の二つのスニペットをインストール - Goodpic_yasnippet.elをインストールしてみた - Clouder::Blogger を参考に作業。

_capitaomorte/yasnippet - GitHub から zip をDL・解凍して、~/.emacs.d/plugin/yasnippet/ というフォルダを作ってその中に全部コピー。~/.emacs 等に以下を追加。
;; ----------------------------------------
;; yasnippet

(add-to-list 'load-path "~/.emacs.d/plugin/yasnippet/")
(require 'yasnippet)
;; (yas/initialize)
(yas/load-directory "~/.emacs.d/plugin/snippets")
(setq yas/prompt-functions '(yas/dropdown-prompt))
(yas/global-mode 1)
(yas/initialize) を書いてしまうとエラーが出てしまうのだけど、今は (yas/global-mode 1) さえ書いとけば動作することになっているらしい。

package.el をインストール。 :

ELPA、と呼ぶらしい。Emacs Lisp Package Archive の略だそうで。

auto-install 導入済みの環境だったので、 _Emacs 23 に ELPA をいれて、magitを入れた - ふなむしは本の虫 が参考になりました。ありがたや。
M-x install-elisp http://tromey.com/elpa/package-install.el
と打てばインストールできるっぽい。ただ、バッファ上に該当elispがドンと表示された直後、「C-c C-c を押したらインストールするけど、それ以外ではキャンセルするよ」と下のほうで言われてることに最初気付かなくて、インストールされずに悩んでしまったけど、それ以外は、するすると。

~/.emacs の下のほうに、自動で色々追加されてたけど、若干修正して以下のようにしたり。
(when
    (load
     (expand-file-name "~/.emacs.d/elpa/package.el"))
  (setq package-archives
        '(("ELPA" . "http://tromey.com/elpa/")
          ("melpa" . "http://melpa.milkbox.net/packages/")
          ("gnu" . "http://elpa.gnu.org/packages/")
          ("marmalade" . "http://marmalade-repo.org/packages/")))
  (package-initialize))

本来は以下のような手順でもインストールできるらしい。けど、自分の環境では何故かエラーが出てしまった。どこかで手順を間違えたのだと思うけど。

_Emacsでプラグインを簡単にインストールするためのpackage.elを使ってみる - ブログのおんがえし
_Emacs Lisp を簡単にインストールするための package.el & MELPA #elisp #Emacs - Qiita [キータ]

package.el を使って、css-mode なるパッケージを試しにインストールしてみたけれど。インストール作業が、実に簡単で。
  • xyzzy の netInstaller
  • Notepad++ のプラグインマネージャ
  • Sublime Text 2 のパッケージインストール作業
  • Eclipse のプラグイン導入作業
みたいな感じ。この仕組み・作業手順に慣れてしまうと、今までのやり方がツラくなってくる。そのくらい素晴らしい。ありがたや。

でも、ネット接続してる環境じゃないと使えないあたりが、どこかで問題になりそうだけど。…まあ、その時は一つ一つ手作業で事前にDLしておけばいいのかな。今までのやり方が使えなくなったわけでもないし。

フォント設定を変更。 :

以下のページを参考にして色々試してみたのだけど。

_フォント設定 [12FF5B8 Wiki]
_フォント設定 - eggtoothcrocの日記

結局、以下のような記述を ~/.emacs に。
(set-face-attribute 'default nil :family "Source Code Pro" :height 104)
(set-fontset-font nil 'japanese-jisx0208 (font-spec :family "MeiryoKe_Gothic"))
(setq face-font-rescale-alist '(("MeiryoKe_Gothic" . 1.08)))
Adobe が公開してくれた、プログラミング作業向けの _Source Code Pro というフォントと、メイリオの幅を調整した _ MeiryoKe_Gothic が入ってる環境です。

ダミーテキストを挿入するelispをインストール。 :

英語圏においてダミーテキストと言うと、 _Lorem ipsum というのがメジャーらしいのだけど。 _EmacsWiki: Lorem Ipsum を使うと、emacs 上でもそのLoremナントカを挿入できるようで。

auto-install が入ってる環境なので、
M-x auto-install-from-emacswiki
と打って、表示されたリストから Lorem ipsum を選んでインストール。~/.emacs には、 _Emacs Reboot #10: Lorem Ipsum | Virtuous Code を参考にして、以下のように記述。
;; ----------------------------------------
;; Lorem ipsum
;; ダミーテキストの入力

(autoload 'Lorem-ipsum-insert-paragraphs "lorem-ipsum" "" t)
(autoload 'Lorem-ipsum-insert-sentences "lorem-ipsum" "" t)
(autoload 'Lorem-ipsum-insert-list "lorem-ipsum" "" t)
M-x Lorem-ipsum-insert-paragraphs とか打ち込めば、ダラダラッと挿入される。

コレの日本語版はないのかな…? Webサイト上で生成してくれるサービス、 _すぐ使えるダミーテキスト - 日本語 Lorem ipsum はあるのだけど。

ちなみに。Zen coding の次期版である emmet では、 _lorem と打って展開すると同じ事ができる ようで。Notepad++ 上で試したら、たしかにダラダラッと挿入されました。

ついでに。Microsoft Word 上では、 _=rand()と打つとダミーテキストが挿入される そうで。試してみたら、たしかに動作しました。知らなかった…。Wordって、実は凄いのね…。

#2 [prog] コマンドラインで日本語のダミーテキストを出力できるツールってないのだろうか

そういうツールがあれば、色々なところで流用できそうだけど。

おそらく文字コードを指定して、sjis、euc-jp、utf8等で出力できたりするんだろう、と夢想。

#3 [xyzzy] xyzzyからtidy.exeを呼ぼうとしてハマる

何度やっても、整形後のhtmlソースの頭に、xml関連の1行、<?xml ... ?> が追加されてしまう…。tidy.exe に与えるオプションをいくら弄ってもダメで。

もしかして tidy.exe がバグ持ち版なのかなあ、とすら思ってしまったけど。html-support.l が原因だった。御丁寧に、execute-tidy () の中で、毎回最後に必ず insert-xml-decl を呼んでた…。html-support.l 自身が、<?xml ... ?> の1行を追加する処理を、わざわざ独自に実装していたようで。

おそらくだけど、html4以前や xml 相手に作業してる時代は、このほうが都合が良かったのかなと想像。しかし、html5 になって、そのあたりの状況が変わってきた感があるわけで。

とりあえず、html-support.l を修正して、フラグで処理を分けるようにしてみたり。
(defvar *tidy-insert-xml-decl* nil)
を最初のあたりで追加しといて、
		(if *tidy-insert-xml-decl* (insert-xml-decl))
で、フラグが t なら呼ぶ、みたいな。

tidy.exe 側にも、add-xml-decl という設定項目があって、<?xml ... ?> を追加する/しないを制御できるように見えるのだけど。それだけでは上手くいかない・日本語文字列が書かれている html に対しては失敗する、みたいな状況でもあったのかな…?

#4 [emacs] Zen codingは体育会系

Zen coding が使えるエディタをアレコレ試してみたものの。何か間違えてるような、そんな印象も。時代の流れに逆行するアイデアとでもいうか。

昨今は、人間の負担を ―― コンピュータという奴隷を使う御主人様の負担を極力減らす方向で、各種ツールが発案されているわけで。例えば。 そういうアレコレを考えると、Zen coding は人に厳しい。HTMLタグの種類と対応する略語を人間様が全部覚えとけ、みたいなマッチョな思想が根本にあるわけで。

その代わり、覚えれば圧倒的に早くHTMLタグをバシバシズラズラ入力できるわけだけど。数文字打つだけで何を打ち込みたいと思ってるのかコンピュータに伝えてる ―― コンピュータという奴隷にも任せるべき作業を人間様が貴重な脳のリソースを消費して肩代わりしているので、コンピュータ側で行う展開処理も早いわけで。

本来なら、文字を打つたびに候補をリストアップしてくれてもいいのかもしれない。略語を人間様が全部覚えるのはツライから、どんな選択肢があるのかリアルタイムに教えてくれる、ぐらいのことはしてもいいだろうと。でもまあ、そうなると、既存の自動補完機能でもいいんじゃないの、という話になりそうな。しかし、既存の自動補完機能では、回数や階層までは指定できない。例えば vi や emacs は、処理の繰り返し回数を指定することができるけど。おそらくはその延長 or 類似のアイデアのように思えたり。

何はともあれ、Zen coding は体育会系だなと。体育会系は仕事が早い。言われたことについては中身を一切考えないでとにかくやっちゃうから。その代わり、指示を出す側が努力しないといけない。先を読んだ的確な指示、余計なことを考えずに済む環境を与えないといけない。…まあ、どれもこれも、それぞれメリット・デメリットがあるので、○○だから良い/悪い、と言う話ではないのですけど。

てなことを思ったのでメモ。何年も前に流行ったソレに今頃言及してみてどうするんだという気もしますが。

#5 [zatta] 日本人ってクソ真面目

ソレについて言及することで自分達の立場が不利になるとしても、「歴史的な事実としてはこうだったんだ」と言いたがる、そんな性質がありそうな。まあ、それは一部の人に見られる傾向であって、ほとんどの日本人は事実がどうとかよりも自分に利があるように平気で嘘をつくのかもしれないけど。まるで中国人や韓国人のように。

ドイツのように、全部ヒトラーとナチスが悪かったんだ、で済ましちゃってる国もあるわけだけど。そういうのに比べると、日本人は妙なところで真面目だな、と。でもないか。ヒトラーやナチスの代わりに、当時の社会情勢のせいにしてるだけか。ただ、ドイツ人は通りやすい言い訳を見つけたけれど、日本人は通りにくい言い訳に固執し続けてる印象も。日本人の中でだけ通じる「空気」ばかり読んで出世してきた人ばかりでは、外国人が黙り込むほどの論理性を得られないのかな、と思ったりもするけど実際どうなのかはわからない。

前半と後半で矛盾してるな…。空気を読むのは大事なのか、ダメなのか。KYのほうが強いのか、弱いのか。どっちなんだ。いや、場所・場面によって読むべき空気は変わる、ということなのかな。どうなんだろ。

後半は、 _日本の刑事司法は『中世』か: 小池振一郎の弁護士日誌 で紹介されてる事例とも関係あるのかしら。実際どんな場面だったのか情報が不足していて判断できないけど、論理的に反論できないから怒鳴った、ということなら論外な気がする。日本人のレベルってこんなものか、と思われてしまっただろうな。

#6 [anime] ガルガンティア、海中探検の回を視聴

蜂の巣駆除だぜ大変だぜヒヤヒヤもんだぜ、と思っていたら…てな感じの回、なのかな。

設定を明かす回なのだけど、相変わらず素晴らしいとしか…。虚淵氏がシリーズ構成をしていた、まどかマギカも、サイコパスもそうだったけど。「実はこういうことだったんです」とバラす瞬間が実に上手いなと。視聴者がより強いショックを受けるよう、事前にアレコレ仕掛けてある、そんな印象。若干まったりムードを見せていたのもそうだろうし、以前の回で主人公が吐いていた何気ない台詞が逆に鋭く突き刺さってくるあたりもそうだろうし。下準備で手を抜いてないよなと。でも脚本は、虚淵氏じゃないんだよな…。どういう作り方してるんだろう…。まあ、監督さんが、異世界の日常をしっかり描く方、てな話をどこかで聞いた記憶もあるので、下準備の丁寧さ云々は、上手いこと歯車が噛み合ったのかな、と勝手に想像したり。

最初の数話を見て、藤子F先生のSF短編を見ているような気分、てなメモをしていた記憶があるのだけど。その予想は、それほど外れてなかったような気もしてきたり。コレ、 流血鬼だよな…。いや、ソレの元ネタの I Am Legendのほうが近いのかもしれないけど。 価値観の逆転が仕込んであるというか。当たり前だと思ってた状況を、あるいは異常だと思ってた状況を、別の視点から見ていくと…みたいな。古典SFが持っていた普遍性のあるエッセンスを上手に取り込めている印象。

コレ、元ネタにしてる作品とかあるのかな…。自分は本をろくに読まない無知な人間なので、そのものズバリな作品を思いつかないのだけど。一応、 流血鬼I Am Legendトップをねらえ侵略イカ娘あたりを混ぜ合わせればこういうのもできそう、とは思うけれど、具材が揃っていてもフツーはこんな料理出てこないだろう、と感心してしまうわけで。例えばEVAも、 ウルトラマンガンダム巨神兵東宝・円谷特撮作品を混ぜていけばどうにか捻りだせなくもない、とは思うけれど、フツーの人はそこからあんなの作れないし。まどかマギカが話題になってた頃、「EVAの再来」と誰かが言ってた記憶があるけれど。「この具材からコレ作っちゃうんだ…しかもそれぞれの味が馴染んでる…美味いわ…」という点では、たしかに何か共通点がありそうな、そんな気にもなったり。

同じ具材でも、これがもし自分だったら…。迫りくる宇宙怪獣達が萌え美少女キャラで主人公ハーレム状態、的ありきたりな方向にしか。そっち行っちゃうんだ…あーあ。みたいな。

何はともあれ、ガルガンティア、面白いです。

これがまた、その直後に放送される進撃の巨人も面白くて。かなり濃い時間帯・曜日だなと。

2012/06/05(火) [n年前の日記]

#1 [nitijyou] 猫の鳴き声がする

近所のどこかで子猫っぽい鳴き声がするが、どこらへんに居るのか見当がつかず。親猫はどうしたんだ。まさか、かんなぎアニメ版のような展開が…。保護できるものならしておきたいが、どの方向から声が聞こえるのかもわからん…。

#2 [pc] Windows8は98 Canbeと同じ失敗をしているっぽい

_Windows8ファーストインプレッション〜初心者歓迎パソコン教室の視点から という記事中の、操作体系2つが混在しているという話を見て、98Canbe がやらかしていた失敗をMSも繰り返していることを今頃になって認識した。たしかに、先日試用してみた感じでは、体系が2つになっているのは間違いない。

ますます今後の展開が気になるところ。仮に Windows8 が受け入れられたら、98ランチと一体何が違ったのか、ということになりそうな。

2011/06/05() [n年前の日記]

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

昼頃から夜まで雷が鳴っていたのでサーバを止めてました。

2010/06/05() [n年前の日記]

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

雷が鳴り始めたので、00:00-03:00の間、サーバを止めてました。申し訳ないです。

夜空がガンガン光ってヤバかったです…。

#2 [zatta] サイエンスZERO、聴覚の回を視聴

視覚が音に引き摺られる様を見て面白いなと。画面の点滅速度は一定なのに、音の間隔が短くなると点滅まで速くなったように感じたり。画面は1回しか点滅してないのに、音が2回鳴ると2回点滅してるように感じたり。

これって、ゲーム画面なり、アプリのUIなりに、めちゃくちゃ関係してくるのだろうなあ…。

#3 [prog] Schemeを少し勉強

昨日から、PLT Scheme をインストールして勉強中。

_もうひとつの Scheme 入門 を見ながら少しずつ勉強させていただいているのだけど。when を打ちこんだところでハマった。R5RS では使えないのだな…。R6RS じゃないといかんらしい。が、PLT Scheme というか、DrScheme で、どの言語(Language)を選択すれば R6RS が使えるのかがわからない。

_DrScheme の使い方 にヒントが。Pretty Big とやらを選ぶらしい。

念のために、MzScheme を Emacs上で動かせるように。 _Scheme 入門 1. Scheme 処理系のインストール をそのまま設定。

念のために、 _Windows + Emacs + MzScheme - mzsmsの雑記 に書かれていた、
(modify-coding-system-alist 'process "MzScheme" '(utf-8-dos . utf-8-dos))

Windows + Emacs + MzScheme - mzsmsの雑記 より

も .emacs に記述。日本語文字列の文字化けが回避できるらしい。

run-scheme をした後で、該当バッファを kill したらエラーが。(exit) と打ちこんで MzScheme を終了させてからじゃないといかんらしい。

#4 [xyzzy] xyzzyのインストールフォルダを変更した

今までは、C:/usr/local/xyzzy/ 以下にxyzzy.exeやsite-lisipを入れておいて、マイドキュメント/xyzzy/ 以下に設定ファイルその他を入れてたけど。プログラムも、マイドキュメント/xyzzy/ 以下に全部入れるようにした。ショートカットファイル等も作り直し。

先日ネットブックを使った際、xyzzyをUSBメモリに入れて使えたら便利だなと思ったわけで。PC環境の引越しをするときも、フォルダ1つをコピーすれば済むから楽だし。

マイドキュメント以下にプログラム本体を入れるのはなんだか気持ち悪いけど。PC環境引越しの際は、えてしてマイドキュメント以下がまるっと対象になるので、システム全体に関わってこないプログラムならマイドキュメント以下に入れたほうが都合が良かったりするのかもしれないと思えてきたり。

2009/06/05(金) [n年前の日記]

#1 [anime] TVで「千と千尋の神隠し」が流れてたのだけど

いつまで赤いんだ、コレ。まさか、ブルーレイになっても赤いのだろうか。ソレ、買った人がブルーになりそうな。

画面に数分見入った後で、画面から目を離して部屋の風景を眺めたら、画面の反対色が部屋全体にかかって見えてしまって。いやーこれはマズイなと。自分の目がかなり弱くなってきてるあたりもマズイだろうけど、そもそも映像がマズイよなと。

考えてみれば、あのポケモンショック映像ですら、15〜20分ほどパカパカ映像を見せ続けた ―― 実質的にはたった数分見せ続けただけで子供達の健康に被害を与えたというのに。千と千尋に至っては、124分もの長時間にわたって延々と色彩がおかしい映像を見せ続けてるわけだから、とんでもなくマズイのではないかと。立派な大人が子供さんに対してすることではないと思います。子供さんから具体的な文句が出てこないのをいいことに、一体何をやってるんだと。>日テレ&ジブリ。大人として恥ずかしい。みたいな。

ポケモンショック以来、TVで放映されるありとあらゆるアニメ映像が、とにかく注意して見てくれと必ず申し開きをした上でフィルタを通して時折もわもわとしたフレームに改変しながら放映してるわけだけど。どうしてこの作品だけが絶対的な理由もないまま例外扱いを受けているのかと。映像も異常だけど社会的な扱いも異常。な気がする。

こんな奇妙な状況をいつまでも肯定してる、そんな社会ではいかんのではなかろうか。ある種、日本という国の後進性というか、消費者・ユーザ側が異常な製品・商品に対して苦情を言えないという前時代性がこういうところにも表れているのではないか、という感すら。また、正常な色彩の映像を流せない/真っ当な色彩に修正できないのは、おそらくは、今となっては単にビジネス上の理由だろうけど。つまりは、所詮アニメなんざ文化と呼称されるに相応しい扱いを未だに受けていない、企業がその時々だけ稼げればそれでいいんじゃ作品そのものなんて知ったこっちゃねえよ、みたいな刹那的商品に過ぎないのだ、ということではないのだろうか。なんて思ってみたりもして。

ということで、レッドはブルー。何いってんのかわからないけど。 *1

未来永劫、日本国内ではあの映像だけが本当の映像とされてしまうのだろうか。マズイなあ。「今度の○○版は前よりもっと劇場に近い色合いになったよ!」と嘘でもいいから宣伝しつつ変更しちゃうとかできないものだろうか。
*1: 「リトル・レッド レシピ泥棒は誰だ!?」(原題:HOODWINKED)に出てきたフレーズ。>レッドはブルー。

2008/06/05(木) [n年前の日記]

#1 [windows][web] 直子の代筆なるIE用ツールバーをインストールしようとしたのだけどアドウェアと判断されてしまう

avast4 が、「コイツはヤベエぜ。隔離するぜ」と言ってくる。うーむ。

#2 [iappli] N903iでiモードが使えた

FOMAカードとやらをP902iSからN903iに入れ替えたら、iモードが使えた。これでバグチェックできそう。

N903iのほうが性能・機能が良さそうなのだけど、どういう状況で使われてたのかよくわからん個体なので、ちと不安。ということで、今まで通りP902iSを常用するつもり。特に何か機能が足りなくて困ってるわけでもないし。というか、そもそもほとんど外出しないし、電話がかかってくることも極めて稀なので、日常生活の中で携帯を持ってる意味自体がほとんどなかったりもするんだけど。

x903iからmicroSDになってたのか。 :

P902iSに刺しているのはminiSDなわけで。使い回しはできないな。

#3 [iappli][cg_tools] 地形モデルにテクスチャを張り直したり

ひとまず水面にテクスチャを張ったり。また、木を張り付けるポリゴンに関して、ビルボードとそうでないものの2種類を作ってみようと。

blender から export した .bac に対してスケールを変えたいのだけど。Perlスクリプトで頂点データ(「( pnt xxx xxx xxx )」)のみを拡大して PAC、PVMicro に放り込んだら、それなりに表示されてしまって首を捻る。translate は弄らなくていいのか…? わからんなぁ…。

.bac の中から、ビルボードにしたいと思っているポリゴンだけは別にして取り出したい。が、どうやったらそういうことができるのか…。Perlでできる? 階層を持ったデータ形式を内部に格納できるようなスクリプトにしないといかんのではないか、という気がするのだけど、階層を持ったデータの形で格納する方法が判らない。こういう場合は何が使えるんだろう。

2007/06/05(火) [n年前の日記]

#1 [digital][pc] USB接続のわけのわからんグッズが出回ってるのは電源を容易に取れないからなんだろうか

てなことをふと思った。USB接続端子を、直流電源提供端子扱いしかしてないグッズもあるみたいだし。

PC/AT互換機の電源部分に、コンセント差込口が複数あるのがフツーな世界だったら。PCの周辺も、結構様子が違っていた・違う光景になってたのだろうか。

#2 [zatta] _大発見!下着・水着姿で胸部分とパンツの部分隠せば全裸に見える!!

_専修大学でのバカ講演 (借日記[CHAKUNIKI])

こういった画像を見たときの人間の脳がどのように働いているかをどこかの学者さんが生真面目に研究したりしないものだろうか。…何かに応用できるわけでもなさそうだから、意味ないな。

#3 [prog] Ruby/SDLのsfont画像をPerlMagickで生成できないか実験中

「Ruby/SDL要なら RMagick 使え」と言われそうな予感。とはいえ、PerlMagickですらドキュメントが少ないので、RMagick でやろうとしたら尚のこと苦労しそう。

1文字ずつ画像を作成して結合する方式でやれないものかと実験中。 以前は、空・透明の画像を作成する方法が判らず詰まったけど。 $image->ReadImage('xc:transparent') とすれば透明にできるらしい。

ひとまずそれっぽい画像を作れるようにはなったけど。今のところ下記が判らない。
.ttf を使って文字描画してるあたりもライセンス的に危ない予感。ビットマップ化したものをゲーム中に含めてはダメ・その場合は別途使用料を払え、てなライセンスのフォントが巷にゴロゴロしているので、迂闊に使えない。もちろん Windows や MS-Office に入ってるフォントもヤバイ。アレはリコーのフォントだから。…外国のサイトを探せば、アルファベット・数字のみのフォントなら、ライセンス的に緩いのがたくさんありそうなんだけど。英語がわからんからどうにも。日本語ですら、フォント関係ライセンスの文言はえてして意味不明なわけで。

「\」の指定の仕方が判った。 :

「"\\\\"」と書けばいいのか。

2006/06/05(月) [n年前の日記]

#1 [iappli] 敵の移動を作成

結局足場objを全部検索して当たってるか当たってないか判定することに。エミュレータ上ではするする動いてるけど、実機上ではどうなるだろう。もしも処理落ちするようなら、発生時に移動範囲を決定してしまうか、チップ単位の地形アタリ用バッファを作成してそこに各objがアタリのコードを書き込むようにする、とか。

足場の種類数を増やした。敵発生データが1つにつき1バイト増えてしまった。単に移動速度を変更したいだけなのだけど。とはいえ、それでもどうせ1〜3bitは増えるのだから種類を増やす方向で持ってしまってもいいよな…。

自機が移動足場から落ちた。ジャンプの下降と、足場の上昇のタイミングが合うと落ちてしまう。ジャンプの下降時に足場の縦幅を越えないような速度制限をしてるのだけど、中心点でしか足場とのアタリをとってないから抜けてしまう場面が出てくるらしい。チェックする座標を増やすか。でもそれをすると体が足場に入っただけで補正されてしまう。…足場の上昇中はアタリ範囲を移動した分増やすことにして様子見。これでダメなら、自機が落下した際の範囲と足場とでアタリ判定することにしよう。

SEを鳴らしたら自機のジャンプ音でアイテム取得音が消されてしまう。iアプリは2チャンネルしか管理できない・鳴らせないらしいのだけど、BGMとSEで使い果たしてしまう。…SEに優先順位をつけた。本来ならそれに加えて再生時間の情報を持つなり、再生終了の割り込み(?)を使って管理すべきだろうけど。とりあえず一定時間だけ優先順位をチェックしてジャンプ音は鳴らさないように。

#2 [anime] BLOOD+、再会2回目

OP映像、変わってる…? 撮影段階での処理が増えてるような。いや、気のせいかな。

お兄さん、相変わらず役に立たないな…。カッコよくなったのは見た目だけか…。

#3 [anime] チャングムの夢、4〜5話

回を重ねるごとにますます美味しんぼと化してるようにも見えるのだが。気のせいだろうか。…原作からしてそうだったか。

取調べのイベント発生。韓国作品はこうでなきゃ。<オイ。…取調べをする人物が女性になってた。日本製アニメから妙な方向性まで吸収しちゃったのではないかと不安に。

試験のシーン。韓国は日本以上に受験地獄と化してるらしいが、それも関係してるのだろうか。っていくらなんでもそれは考え過ぎか。偏見持ちすぎ。>自分。にしても。せっかくの薀蓄台詞全開シーンなのにどれ一つとして役に立たないインチキ内容ばかりなのがなんと申しましょうか。もったいない。

#4 [anime] NANA、サチコの回、ポスターの回、ギターの人が来る回

サチコって誰だよ。面白いなぁ。…魔王って何だ。ノリがいいなぁ。

突然スローモーションで蹴りが入るシーンに度肝を抜かれてしまった。原作にそういう描写があったのかしら。アニメオリジナルの描写なら、コンテ描いた人、素晴らしい。

演奏シーン。こりゃかっこいいわ…。映像化の仕方もアレだけど、食卓と携帯と月、てなあたりからして上手い。

コンテ、浅香守生氏と書いてあった。監督さんが描いてたのか。テンポがグー。とにかく時間制御が秀逸。凄い人なんだなぁ。

2005/06/05() [n年前の日記]

#1 [anime] エウレカセブン、宗教おばさんの回

過去に何があったか色々匂わせる話。かしら。

CMで、PS2用のゲームが。映像を見ていてちょっとドキドキしてしまった。もう発売されるのか。…他のメディアでも販売することを念頭においたうえでの放映開始決定、なのかしら。ゲームその他が出来上がる目処が立つまで待ってた、のかな。その間に本編も作り溜め(?)しておくことでクオリティ維持の効果も得つつ、みたいな?

#2 [nitijyou][pc][windows] アップデート地獄

_ノートPCがきた。 型番は、FMVNB18DLV。 _FMV-BIBLO NB18D/L ってやつ。 _2003年5月発売、Celeron 1.8GHz の機種らしい。「新品で買ったらしい」と聞いて、こちらは「???」。数年前の機種なのに。在庫処分か何かで安いのだろうか。

なんでも、子供さんに渡す予定なのだとか。「ディズニーの壁紙」だの「動物の森デスクトップクロック」だのが入ってるあたりからして、たぶん小中学生に渡すのかな。…自分のPCの約2倍のクロックですよ。それを子供さんに、ですか。トホホ。

でも、スペックのわりに各所の動作が異様に遅い。何故。「FMVランチャー」だのが動いてるからだろうか。デスクトップの1/4が、アビバだのniftyだのの広告バナーでひっきりなしにアニメしてるし。気が狂いそうなデスクトップ。…CPU使用率はそんなに高くないから違うか。するとHDDか。と思ったけど、デバイスマネージャで確認すると、 _ウルトラDMAモード5 でアクセスしてるようだし。knoppix じゃあるまいし、 *1 そりゃそうだよな…。メモリが256MBだから、かも。「WinXPはシステムだけで256MB使う」と言う話だし。

どうやってネットに接続するか云々は、何も考えてなかったらしい。ぎゃふん。相手先では YahooBB ADSLモデム直づけでネットに繋いだとかで。…とりあえず、ウチのLAN経由でネットに繋いで作業をする。ウイルス感染してませんように。 *2

子供に渡すPCなら先にやることがあるだろう :

WinXP SP1 が動いてて面食らう。何故SP2じゃないのだ? もっとも、FMVは添付ソフトがてんこもりだから、「SP2移行で動かないソフトが続出すると困る」という判断だろうか。と思ったが、Windows Update はしてないっぽいし、ウイルス対策ソフトは無効なままだし。要するにそのへん何も考えてないんじゃないかとこちらで勝手に判断。

持ってきた方と相談。まずはSP2にして、Windows Update して、そのへん終わってからメール云々を作業することに。

アップデート作業だけで約2時間。しかも途中でクリックを要求されるから、面倒。

…作業してるうちにムカムカしてきた。子供に渡すPCなんだろ? ネットに繋ぐPCなんだろ? 「ディズニーの壁紙」だの「動物の森デスクトップクロック」だの「 _特打ヒーローズ 名探偵コナン 」だのをインストールする前にやることあるだろうが! なんて思っちゃったりして。テヘ。

本当は子供さんの後ろから説明・指示出しして、子供さん=実際に使う人に作業してもらったほうがいいのかもしれないな。たぶん、子供のほうが、親より覚えが早い・理解してもらえる予感。「どうしてその作業をする必要があるのか」まで説明しないと意味無いだろうし。…まあ、いいか。今回は、おじさんがやっとくよ。

つーか、URLフィルタ等も必要な予感。そのへんどうするんだろう。

メーラは Outlook Express にした :

FMVに添付されてる独自メーラ、『@メール』を使おうとしてたらしいけど。「メールがやり取りできればそれでいい」とのことなので、Outlook Express(以下、OE) を使ってもらうことにした。

OE だってセキュリティを考えるとオススメできないけど。
  • 『@メール』はどの程度セキュリティ面を考慮してるかさっぱり不明。
  • OEと『@メール』ではトラブル対処に関する情報量が全然違う。
  • 『@メール』はそのソフト名が原因で、ネット検索による関連情報収集が100%不可能。
と考えたので。…富士通は変なソフト名をつけちゃって墓穴を掘ってますですよ。何を考えているのだか。

Outlook も入ってたので、そちらも候補として考えたけど。
  • Outlook を“デフォルト”で使ってると、将来、MS-Office が入ってない = Outlook が入ってない環境を使ったときに困りそう。
  • IE と一緒に必ず入ってる OE でメール関連を扱えば、Windows を使う限り、操作でまごつくことはなさそう。
  • OE に比べると Outlook のセキュリティ情報公開・入手はちと面倒なところもある。
と思ったので。つーか。自分は Outlook を持ってない → 相手が何かハマって質問してきても答えようがない → 相手の方に自力で解決してもらうしかない、という…(爆) それでもいいなら、Outlook 使おうが、『@メール』を使おうが構わんのだけど、「メールがやり取りできない」なんてレベルで、こうして目の前にノートPCが来ている時点で、「OEにしませうよ」と言いたくなるわけで。

…本当は、 _Thunderbird あたりにしたほうがいいよなぁ。セキュリティ面でも機能面でもOEよりグッドだし。 _テーマ_変えられる _あたり も、子供にとって高ポイントかもしれんし。つーかブラウザも Mozilla Firefox にしておきたい。 _『犬帝国瞳子』テーマ なんて喜ばれるんじゃないかしら。…と思ったけど、Mozilla xxxxx は、セキュリティホールが見つかったときのアップグレード作業が面倒か。.exeをDLさせて実行、ってアレのような。 *3 そのへんはまだ、IE・OEのほうがマシかもしれん。Windows Update のページを開いて、クリックしていくだけで済むし。もっとも、その簡便な操作が可能だからこそ、危険かもしれないのだけど>IE。

さておきようやくメールの設定 :

OEでメールアカウントを設定してアクセスしてみたら、あっさりメール送受信ができた。5分もかからなかった…。アップデートで、ン時間…。肝心の「メール云々」で、5分… (´A`)

ノートPCの持ち主の、契約プロバイダは Yahoo!BB らしい。Yahoo! BB のメールサーバには、plala経由でもアクセスできるのか。む。どうやら _POP before SMTP を導入してるらしい。

『@メール』でやり取りできなかった理由はなんだろう。POP before SMTP に対応してないとか。それとも単にパスワード入力ミスとかそのへんかしら。まあ、触りたくもないし、使えるようにしたくもないメーラなので、どうでもいいや。

と言いつつも。「『@メール』のアドレス帳に登録してあるメールアドレスをOEのアドレス帳に移してほしい」という要望が。『@メール』を起動してみたところ、アドレス帳に関してはインポート/エクスポート機能がついていた。ありがたい。おかげで、すんなり移せた。

タッピングでハマる :

タッチパッドでの操作だったのだけど。マウスカーソルを移動するだけで、いつのまにやらクリックが入ってしまう。レイズナーの主人公よろしく「僕は何もしていない!」状態でイライラ。「コレ、初期不良品じゃないのか?」とまで思ってしまったり。

が。タッチパッドには、『タッピング』 *4 という動作があったのですな。知りませんでした… (;´Д`)

_TouchPad のドライバ(ALPS系)- タッチパッドの使い勝手を改善させる :

なるほど。『タッピング』はOFFにしたほうがいいみたいだな…。

ドライバ等もアップデート :

ドライバや添付ソフトのアップデート作業もしておいた。

マニュアルもアップデートできるらしいけど。そちらはまだ、未作業。

JWord をアンインストール :

IEのツールバーで「検索」を押したら。JWord が出てきた。

利用すると、JWord の フレームの中に、目的のページを表示するのね。…ブックマークできんじゃろが! ゴルァ! 全部 JWord のフレームセットページでブックマークされるがな。アホか。

左側の「JWord検索用フレーム」に「閉じる」ためのリンクがあるのだけど、それを押すと“フレームのサイズが変わる”だけ。…閉じてないだろ、オイ。

「IE検索用フレーム(中身はJWord)」の横に「JWord検索用フレーム」が並び、その横に「目的のページ」が並ぶの図は異様。なしてJWordだけでフレームを2つも取るデスか。何故に目的のページが横50%のサイズにさせられますか。誰よ。こんな糞仕様で作ったの。作った人間は、市中引き回しの上獄門が相応しい。

つーわけで、アンインストール。

ホームページ設定 :

「ブラウザを開いたときに Yahoo のページが出るようにしてくれ」と要求されていたので、IEのホームページ設定を Yahoo に。

一応手順を書いとくかな…。IEを起動して、 _Yahoo のページを開いて。IEのメニューから、ツール → インターネットオプション → 全般 → ホームページの欄で「現在のページを使用」。

つーか思うんだけど。ホームページ設定って、ブックマーク(お気に入り)の中にあったほうが良くないかしら。何故にどのブラウザもオプション設定の中に仕込ませておくかな。

時計合わせを有効に :

WinXPなので、自動時計合わせも有効にしておいた。時計が5分ぐらいずれてたし。ただし、ネットに接続してる環境じゃないと利用できないけど。>自動時計合わせ。

_Windows便利ワザ大辞典 - 時刻を自動的に合わせる に手順解説が。右下の時計を右クリック → 日付と時刻の調整 → インターネット時刻 → 「自動的にインターネット時刻サーバーと同期する」にチェックを入れる。

ただ、時々エラーが出るみたいなんだよなぁ…。サーバが混んでるのかしら。代替サーバはないのだらうか。NTPサーバでもいいのかな?

_Windows XPにおけるNTPの設定について(学内NTPサーバ利用法) というページによると、NTPサーバでも構わないみたい。

_Windows XPスマートチューニング 第34回 - 「インターネット時刻」の設定を変更する に、関連設定が。レジストリを弄るからちとアレだけど、同期時刻等調整できるらしい。

ワンタッチボタンが動かない :

PC前面にボタンが4つほどあるのだけど。それを押すとブラウザが起動したりメールチェックできたりするらしい。のだけど、設定をして押してみても、何も起きない。ひょっとすると、WinXP SP2 導入と共に、そのあたり無効になってしまっただろうか。… QuickTouch、BtnHnd は常駐してるのだけどなぁ。謎。

デスクトップ上の広告バナーも消した :

スタートメニュー → すべてのプログラム → FMVランチャーの設定、だったかしら。

他にも色々無効にしたほうがヨサゲだけど :

通信料金計算ソフトなんて常駐させる意味が無いだろうと。Yahoo BB を使う=常時接続環境だろうし。でも、聞いてみないとわからんしなぁ。子供の利用時間を知りたいのかもしれんし。

って、通信料金計算ソフトは、LAN接続環境で使えるのかしら? アレってモデム利用のネットワーク接続設定じゃないと使えないのでは?

ウイルス対策関連 :

_シマンテックのウイルスチェックサイト を利用して、ウイルスチェックもしておいた。( _解説ページ )。めっちゃ時間かかった。ウイルス感染はしてなかった。一安心。

セキュリティ関連ソフト Norton Internet Security 2003 も有効にしておいた。 *5 *6 …とりあえず、今日から90日間、つまり3ヵ月後の9月5日までは有効らしい。それ以降も使いたければ有償になるようで。「そんなお金無い」と言われた場合は、せめて、 _無料で使える avast! 4 Home Edition あたりを勧めて、WinXP SP2 のファイアウォールを有効にしてもらおうかしら。何もしないよりはマシだろう…。

Norton Internet Security 2003 の Live Update を実行。これまた時間がかかる。途中で何度も再起動を要求されるし、特定モジュールが「更新できませんでした」とメッセージを出してくるしで。すんなり先に進んでくれない。が、なんとか更新。

ここまでやってたら :

全部で8時間ぐらいかかりました。ほとんどアップデート作業しかしてないし。…地獄じゃ。アップデート地獄deathヨ。 *7

でも、日記のネタができたから、いいや。

*1: 今の knoppix は DMA on だと思うけど。
*2: 今考えたら、 _ANTIDOTE for PC Viruses - SuperLite あたりでチェックしてから繋いだほうがよかったかもしれず。オイラも頭が回らんな…。
*3: 今は違うんだろうか? 独自ビルド使ってるから判らん…。
*4: タッチパッドの上で「トン」と叩くと、クリックになる。ドラッグロック機能とやらもあるらしいけど、よくわからん…「トン、トー」で使えるのかな?
*5: …「しておいた」というか、起動時に毎回出るウインドウに対して、「これ、設定方法を把握しておかないと、後で絶対質問されるよな…」と思ってクリックしてみたら有効になってしまったのだけど。あわわ。…まあ、どうせ有効にしないといかんのだから、いいよな。ほっとくといつまでも無効なままにされてそうだし。なんとなくだけど、「FMVはウイルス対策ソフトが入ってるそうだから、何もしなくても安心じゃないの?」とか言われそうな予感。想像するだけでトホホ。
*6: ただ、「同意しますか?」のところで、「いいえ」でキャンセルしちゃったんだよなぁ…。なのに、有効になってる。何故。どうやったら初期状態から始められるのだろう?
*7: 朝に来ると言われてたんで…。昨日の晩からずっと寝てなかったわけで。もうフラフラ。<それはお前の生活時間帯がアレなだけだろうが。

この記事へのツッコミ

Re: アップデート地獄 by Y    2005/06/06 18:13
>Celeron 1.8G
それが巷で噂の「もっさり感」だと思います。

元々ノートは同じCPUでもやたら遅く感じるのですが
Celeron 1.8G辺りだと特に感じると思います。
Re: アップデート地獄 by Y    2005/06/06 20:55
>ホームページ設定
私はアドレスバーのアイコンをホームアイコンに
ドラッグする方法しか知りませんでした。
そんなとこに設定あったんですね。
Re: アップデート地獄 by けいと    2005/06/06 21:22
私はHDDの転送速度とか回転速度の遅さだと思ってましたが…
(省電力のために回転速度の遅いHDDを使っている)

デスクトップでも5400RPMのHDDとかだと遅いし、
メモリを256Mより増やしてもあんまり変わらないし。
Re: アップデート地獄 by mieki256    2005/06/07 14:13
> もっさり感

なるほど…。
試しに「celeron もっさり感」で検索してみたら山のように出てきました(笑)
Celeron しか使ったことないから知らなかった…(爆)
やはりキャッシュ云々とかそのへんでせうか。むぅ。
Re: アップデート地獄 by mieki256    2005/06/07 14:15
> アドレスバーのアイコンをホームアイコンにドラッグ

なんと! そんな簡単な方法で…!

自分、基本的に、「ホームページ=空白」にしてる上に、
ツールバー上からホームアイコンは消しちゃってるものだから、
そんな使い方があったとは露知らず…
そっちのほうが圧倒的に簡単ですな。これからはそれでやろう… (´A`)
Re: アップデート地獄 by mieki256    2005/06/07 14:24
> 省電力のために回転速度の遅いHDDを使ってる

あ。なるほど。ノートPCだとそういう事情もあるのか…。勉強になるです。
すると、CPUはもっさり、HDDは遅いわで、ノロノロ感は必然だったのか…

> メモリを256Mより増やしてもあんまり変わらない

なんと。それは悲しい話…。つまり、「打つ手なし」と。
まあ、使い勝手より、省スペース性を優先してるわけだから、
仕方ないですな… >ノートPC。

速度向上や拡張性は得やすいけど、その分設置場所をとるか、
設置場所はとらないけど、もっさり+拡張性は厳しいか、
そのへんトレードオフというか、
ユーザ自身がどっちを意識的に選ぶのか、みたいな話なのでしょうな…

2004/06/05() [n年前の日記]

#1 [nitijyou] 親父さんが車のオイル交換に行くというので

ついでに乗せてもらって隣の市の電器店に。

#2 [pc] 詰め替えインクを買ってきた

EPSON PM-3000Cのインクが切れたので、新しいインクを購入。カラーは予備があるので、黒だけ買ってきた。で。詰め替えインクもあったので、それも購入。次回切れたら、詰め替えにチャレンジしてみやう。ただ、EPSONプリンタのカートリッジは詰め替えが難しいと聞くので、ちょっと不安でもあるけど。それでも純正インクの半額になる計算なので、1回失敗したとしても元は取れるだろう。たぶん。

とりあえず、空になって放置してるカートリッジを分解してみないと。詰め替え作業を行う前に、中の形状を確認しておきたい。

#3 [pc] 静音ファンを買ってきた

パソコン工房に寄ってもらって、静音ファンを眺める。自宅サーバに取り付けたいのだが。

おお! XINRUILIAN RDL8025Sがあるではないですか。620円。通販なら500円+送料・手数料だったはず。これっぽっちの差額なら、買います。もちろん買いますよー。てっきり3倍以上の値段だろうと思ってたから、かなり嬉しい。ありがとう、パソコン工房。 *1 しかし1個しかなかった。残念。

もう一つファンが欲しいので、記述されたdB値が小さく、その中で一番安い、TP8017Aとやらを購入。1040円。後は、ファンを繋ぐためのケーブルを2本購入。1つ210円。ファンコントローラを購入してそちらに繋げたほうが良かっただろうか。しかしそれだと高くなるから、これでいいか。

あっ…。いかん。このファン、どうやってケースに止めるんだ。一つはネジだから問題ないが、他のファンは妙なプラスチックパーツで止められていたはず。どうするのだ。うーむ。ケースを空けた際に、しっかり確認しておかないと。
*1: 以前、パソコン工房のサイトで値段を確認したときは、3倍以上の値段だったので。てっきり店頭もそうなのかと思ってた。

#4 [pc] 親父さんPC、マウス新調

マウスのケーブルが邪魔だと常日頃言っていた親父さん。パソコン工房で、ワイヤレスマウスに興味津々。MS製品やロジクール製品に比べると、値段が安いことに驚いている。英語パッケージだし、A4techだし。ということで、親父さん、マウス購入。RFWOP-49( _RP-649 )。

少し触らせてもらったけど。ホイールボタンが硬いなぁ。他のボタンは問題なさげ。PS/2 or USBで受信部を接続できるのだが。受信部は充電器も兼ねてるので、電源容量(?)が少々不安。故に、今まで使ってたPS/2ではなく、USBに繋いでもらった。現在、付属の充電池を充電中。Ni-MH、ニッケル水素、1400mAh、か。前述のページによると、14時間で充電完了らしい。PM11:00頃に充電開始したから、明日のPM1:00には終わるのだろう。その間、親父さんのPCは電源つけっぱなし。別に充電器が使えるならそちらを使ったほうがヨサゲではある。しかし、手持ちの充電器の中に利用できるものがあっただろうか。ちょっと調べてみないと。…もしかすると、デジカメ用に所有してる充電池が使えたりしないだろうか。mAhが多い分には問題ないよな。たぶん。

#5 [mixi] SNSならでは、なのかな

会津若松市にあるという _企業 の方からmixiで人材募集のメールが。むむぅ。SNSにはこんな可能性があるのか。N氏に招待されなかったら、こういう体験はできなかった。ありがとう、N氏。それにしても、会津にそんな企業があったとは、恥ずかしながら知らなかった。会津大学関係者が起業したらしい。スゴイ。素晴らしい。まさか福島県内でそんな起業が行われていたとは。かなり驚いた。県内で志を持った者にとっては、勇気付けられる存在に間違いない。まるでジャンヌダルク。…そういや昔、福島県にはSPSがあったっけ。当時のSPSのように注目を集める存在になってほしいと期待。

うーむ :

業務内容を見て汗をかいてきた。ヤベエ。やりてえ。こういうの、ムチャクチャやりてえ。…しかし、求人要項を眺めてorz状態に。当然ながらその実作業に関してはバリバリの経験者・即戦力を求めてるようにしか見えない。…自分は、その言語・プラットフォームでの開発経験がない。学習期間が必要になってしまう。それでは確実に落とされる。今時の企業は、席に座ってすぐさま実作業を始められるぐらいの人材を求めているはず。会っても失望させるだけだろう。…あまり期待されないところから始めたいものの、そもそもかなりの期待がなければ雇ってもらえないという矛盾。そして期待に応えられるだけの技を持ってない現実。うーむ。…ぼんやり思う。世の中の企業はコンビニ弁当みたいな人材を求めてるのだろう。後で美味しい料理になるが、下ごしらえが必要な人材は不要なのだ。いや、同じ下ごしらえが必要なら新鮮な素材の方がいいとも思うだろう。…などと、ぐるぐる悶々と悩んでるうちにメール返信がかなり遅れてしまった。こんなにも時間にルーズで、面倒臭いこと考えてる人材は、どんな企業でも要らないわな。…結局断りのメールを送信してしまった。orz

とりあえず自分の問題点は、それら言語の習得を済ませてないあたりだろう。それがあれば、こういう話が来た時に自信を持って飛び込んでいける。…勉強を始めよう。提出できるアプリ作ったり。あるいは企画書を書き溜めたり。…それが一般的な就職活動でもあろうし。勉強しよう。そうしよう。

#6 [game] しかし、企画書ねぇ…

チンコで釘打つゲームとかどうか。スイマセン。冗談です。言ってみただけです。でもインパクトはある。チンコで釘打って家を建てたりビルを建てたり。地上数百メートルの高層ビルのてっぺんでチンコで釘を打つの図。なんだそれ。インパクトだけじゃダメか。ちなみに、連打系か、角度調整タイミングで釘を打つ仕様で考えてるのだけど。<仕様以前の問題で没だからこれ以上考えなくていいよ。

女性のあえぎ声でリズムをとる音ゲーはどうか。<ダメだコリャ。…本当にダメかな。「ああん」「パン」「ああん」「パン」「あっあ〜ん」「パンパン」とかくだらなくて面白そうだけど。…面白くないですか。そうですか。 *1 …よく考えたら、音ゲー関係は特許取られてるよな。<そういう問題じゃないだろう。…リズムに関係なく、音の組み合わせの早押しはどうか。「カトチャン」→「ペッ」、「ア」→「イーン」、「コマ」→「ネチ」とか。…面白いのか、ソレ。ユーザにとって何が御褒美なんだ。ステージクリアすると、MATRIXの弾避けシーン的な360度カトチャン・ペッが見られるとか。容量的に無理か。いや、容量がどうとかの問題じゃなく。そもそも見れて嬉しいか、ソレ。なんだかよくわからなくなってきた。
*1: もしかしたら、エロゲで既にありそうな予感。

#7 [game] 年配の女性・男性向けの恋愛シミュゲー

リサーチしてみた。昔、石原裕次郎ファンだったお袋さんに、「若かりし頃の石原裕次郎と恋愛ができるゲームがあったら、興味ある?」という問いを。返事は、「いいねぇ!」だった。…お袋さんだけでは心もとない。昔、○○○○○ *1 のファンだった親父さんにもリサーチしてみた。「若かりし頃の○○○○○と恋愛できるゲームがあったら、興味ある? 遊んでみたい?」。返事は「そりゃもちろん!」だった。

驚いた。ゲームには興味を示さない親父さん・お袋さんが、揃って好感触だったのは、非常に興味深い。ひょっとして、もしかすると、意外とイケるんじゃないか? でも問題は、自分が、石原裕次郎や○○○○○の若かりし頃を全く知らないこと。かなり調査しないと製品にならない予感。大変そう。マンドクサ。ということで早い者勝ち。誰か手をつけてウチの両親を喜ばせてください。

プラットフォームが問題になるかもしれないな。ゲーム機+ソフトでは、ゲーム機購入の時点でハードルが高いかも。ケータイでは、画面が小さくて年配の方々は見るのがツライ。PCでは、ソフトのインストール等で苦労しそう。となると、子供向けの玩具のように、ソフト内蔵の単体機器で出したほうがいいのかもしれない。あるいはDVDソフトとしてどうにかするとか。文字の大きさも意識しないといけないだろう。TV番組と同程度の大きさを意識しないと。もっとも、音声主体にしたほうが良さそうではある。いや、音声がないとプレイしてても面白くないだろう。…過去の映像を編集加工する作業や、過去の音声を編集加工する作業が必要になるな。もしくは音声に関しては、似たような声質の声優さんを探してくる方法も。…どんどん面倒臭くなってきた。綾小路きみまろのCDに相当するゲーム作品を生み出すのは、ハードルが高そう。

とここまで書いてハッとした :

これ、昔、誰かが喋ってた内容じゃないのか。なんだか後半は自分の案じゃなくて、誰かの発案・指摘をそのままコピーしてるだけの気がしてきた。誰だ。誰の案だ。…思い出せない。それとも自分が考えた内容なのか。自信がなくなってきた。…もし、「ソレ、俺の喋った内容だよ。公開すんなよ」と思った人が居たら、その旨ツッコんでください。非公開設定にするであります。(;´Д`) …もっとも、オイラ自身、誰が喋った案なのか判らない状態ということは、随分昔に聞いた話でもあろうし。ということは、その人が本気で企画を考えてたら、今頃当の昔に実現してる可能性も高いわけで。だったら今更非公開にする意味はなく。もしくは、少し手をつけてみたけど、問題が多すぎて、実現不可能だった可能性も。…何にしても、ヤベエなぁ。>オイラの脳。各所で記憶力が非常に怪しくなってきた。うう。

まあ、普通の人は、笑って聞き流して終わりだろうから心配することもないか。…もっとも自分、笑って聞き流した案が、別のどこかで製品化されてヒットした図を見たことも結構あったりもするんですが。アイデアを聞いて、笑えるということは、どこかに人の気持ちを動かすパワーが潜んでる証拠なのですよ。実は。

*1: 女優名、失念。

#8 [game] 絵だけ描きたいという新人グラフィッカーのために

新たなプロジェクトを立ち上げるのはどうかと夢想したり。静止画主体のADV・VNで。あの○○○が率いる○○○○から発売されるADVとは一体どんなゲームなのか。そんな取り上げ方をしてもらう。しかして、その実態は、…その新人君がたった一人で描き上げた、膨大な枚数のCGが、DVD全容量の80〜90%を埋め尽くしてる製品。話題にはなるな。「馬鹿だ」「キ○ガイだ」「痛みに耐えてよく頑張った。感動した」等の感想が出てくるのは間違いない。しかも、その新人君のイラストレーターとしてのプロモーションも兼ねるし。更に、彼は絵ばかり描けるのだから、きっと本望・天職とすら思うに違いない。かつ、プロジェクト人員が主に彼一人だから、開発にかかる人件費も圧倒的に少なくて済む。一石二鳥、いや、三鳥、いや、四鳥。

何か重要な問題を見落としている気もするが。<ここ、笑うところ。

もちろん上記は冗談なんだけど :

g氏の職場から静止画主体のADV・VNが出てくるとしたら、どんな作品になるだろう。それを想像するだけでもなんだか楽しい。おそらく彼の職場に代々伝わるあのキャラクターが登場するのは間違いない。のか。よく知らないが。…もっとも、僅かであっても開発リソースをそれら新ジャンル・新企画に投入できる余裕はないだろうと勝手な想像。そもそもコンシューマ業界におけるそれらジャンルは、エロゲ業界から参入した会社が軒並み占領してしまっていそうでもある。今から食い込むのは難しいか。ジャンルからして販売数も期待できるかどうか怪しい。餅は餅屋ってことですね。たぶん。…でも、「週刊○○タ○ー○ー」とか面白そうだなぁ。<週刊かよ。…昔、似たような話を先輩がしてたのを思い出した。ソーサリアンみたいな感じで。でも、当時ですら多くの問題が予見されていたので、実現は難しそうではある。

2003/06/05(木) [n年前の日記]

#1 ずーっとスイッチが入らないのです

絵もプログラムも。困った。投下できる燃料は無いか…。

#2 HDDの空きがなかなか作れないのです

分類してから、とか考えて作業してるからだろうな…。

#3 飼い主より先に歩くのはマズいんと違ったか

TVドラマ「動物のお医者さん」のチョビの動きを見てると、躾と運動量が不足してるように見えるけど大丈夫なのだろうか。

#4 [anime] _ロマのフ比嘉氏のURDAを見た

そう来たか! やられた! こういうオチ(?)は大好きなので、クゥーッ!って感じ。ただ、惜しむらくは音楽。作曲家には失礼だと思うが、映像を勢いづけるどころかブレーキかけちゃってるBGMってのも珍しいというかこれじゃ台無しだなと思った。もう少しなんとかならなかったのだろうか…。

#5 _そういえば当時なんて読むのかわからなかったっけ

あの頃ロードを読んでた自分としは、名前見ただけでなんかこうじーんと。しかしあの業界もやっぱり厳しいのかしら。 _(src)

数年後には2chもそうなってる予感 :

眺めるたび「ファンロードみたいだ」と思う。2ch語とロード語の生まれ方も似たようなもんだし。ていうか中高生の時期ってえてしてあんな感じだろうな。

2002/06/05(水) [n年前の日記]

#1 出来たかな…?

これで出来たかな。
手元にある資料の分に関しては。

1ページ出来る度にメール送ってるんですが返事・反応がない…
出張?してるのかも。

電話連絡しようとも思うけど、生活サイクル逆転してるんで…
夜中に電話かけてたら大迷惑だし (;´Д`)
…まともな生活サイクルにしる!ってツッコミ入るだろな(自爆)

2001/06/05(火) [n年前の日記]

#1 慣れか、レベルアップか

出会い系サイト、巷で大騒ぎですが。
謎だ。
世間の皆さんは一体どんな使い方をしてるんだ。
Nくん見習って登録はしてみたものの…
その後何一つ動きが無い。Hな広告メールしかこないよ? (・o・?)
もしやオイラの知らない裏ワザでもあるのですカー?

ってこっちからアプローチせにゃ変化無いのに決まってるジャン(爆)
ま、無職じゃフツー門前払いだろうしなぁ。
そんなわけで、出会い系サイト安全保証宣言 in 俺だけ(涙


たまたま偶然、NHKで松本零士先生が映ってた。
スゴイ部屋だ…あれこそ魔窟。

ガミラス星人モドキがダンスを踊るアニメの制作風景も映ってました。
そうか。松本先生自身がちゃんと絡んでたのか。
てっきり、どこか海外のスタジオがパクってんのかなと勝手に想像してましたが…
正真正銘の本家(東映制作)だったのね。
そういや、彩色はデジタルだった。
あっという間に制作現場に浸透しちゃいましたねぇ… >CG


たまたまTVつけたらウェブダイバーやってたんで、ちょっと見入ってみたり。
なぜだろう。あのCGが不自然に見えなくなってきた…
慣れなのか。それとも向こうがひっそりレベルアップしてるのか。
それはそうと、今回、原画が一人。
スゴイ。そこまでコストダウンせんでも(違


ってコレを書いてるちょうどこの瞬間。
ムリョウを見るのをすっかり忘れてたことに気がついた。あややぁ…
これで2話連続見逃してる。
一体どんな展開になってるんだろう。来週見て話わかるかな。参ったな。

ていうかなんかもうアニメ見ても見なくてもどうでもいい感が密かにあるような気も。
見逃すってのはやっぱりそういうことだろうな。

でも流れてたら、やっぱり必ず100%見入っちゃうんだよなぁ…
…ハッ!( ̄□ ̄;)!!
まさかコレがチーズ!?(謎

2000/06/05(月) [n年前の日記]

#1 ユーザインターフェイスとタブレット認識

半年近く買った時のまま、封も切らずに机の下に放置してあったゲームを発見。
もったいない、とインストールしてみたり。タイトルは「雛鳥の囀」。Win版。

少しプレイしてみてビックリ。
ウインドウやメニューなど、ありとあらゆるモノが、半透明で浮かび上がってきたり、画面の端から移動してきたり。
カ、カ、カッコイイ… ヽ(´▽`)/
大抵この手のゲームでこういうことをすると、全然調整が出来てなくて、妙に時間ばかりかかってイライラするものですが。
このタイトルでは、それらの処理が一瞬で終わるよう調整してあり、非常に好印象。
また、メニューを選ぶと、その横にサブメニューが表示される等、各所でユーザのストレスを軽減する仕様になっており、これまた好印象。
インターフェイスフェチ(?)の私としては、My殿堂入り、みたいな。
…ゲームの内容は難しそうで、そのへんついていけそうにはないですけど (T▽T)

Linux、外と繋がりました。
間違えてモデム関連のパッケージをインストールしてたので、それを削除したら繋がったけど…本当にこれでいいのかなぁ?

一応、sambaの設定も終了。
Winマシンから ~/ が覗けるッス。

Linux上でのタブレット使用も大丈夫そう。
1.1の時と違い、画面の端から端までカーソルが移動する。バッチグー。
が。
実はまだ問題が。
GIMPを起動したら、タブレット(Xinput?)を認識できてないようで。
カーソルは移動するけど筆圧感知が働かない。ボタンのON/OFFしか伝わらないという…
GIMPのバージョン的には、筆圧感知がOKになったはずなんだけど。
これでは宝の持ち腐れ。

それでも一応使えないかと、少しGIMPで楽描きしてみたり。
手が…
手がつってしまうdeath…
オイラ、筆圧が弱いので、よほどの力を与えて押さないと、ボタンが押されてると認識してもらえない。
Winではドライバ設定でそのへん細かく調整可能なんで、さほど不自由さを感じた事はないのですが。
Linuxではそのへんあまり出来ないようで、なんか荒行を強いられてる感が…

関係無いけど。
よく、「GIMPはPhotoshop同等の〜」とか言ってるLinuxユーザを見かけますが。
GIMPで真面目に絵を描こうとしたら、そんな発言は逆立ちしても出てこないと思う。

1999/06/05() [n年前の日記]

#1 (NoTitle)とある理由で、東鳩の...

とある理由で、東鳩のシナリオデータを吸出しツールでテキストデータ化。で、先輩に関係するメッセージを研究中なんですが…。改めて読んでみると、「うおおお! 先輩かわいい〜〜っ!」状態に。転んじゃいそうでヤバイわ。それにしても、やっぱりシナリオは大事だのお、なんて思ったりもして。

TVで「CAT'S EYE実写版」を放送してたので見てみたのですが・・・。なんだかひっさしぶりにダメダメな映画みましたよ。もういい。こんな映画生み出しちゃうような業界は要らない。日本映画界なんて消えて無くなってしまえ。なんて思っちゃうぐらいアレでした。
見ていてつくづく思ったのですが、実写で撮っておきながら「記号でいいんだよ」的な意識がありありと見えるような絵を作っていてはもう救いようがないです。というか、そういう監督さんはアニメを作りなさいな。実写なんか撮ろうと考えない方がいいです。もしくは記号でも許されるような、面白いシナリオを用意するか、誰も想像つかないような強烈なイメージを用意しないと。もし意識的にやってたらますます性質が悪い。そうだとしたら、このカットは記号でもOK、このカットは絶対ダメ、という選択のセンスが、映像の作り手として全く備わっていない、才能まるで無しということです。
なんて、世界は違うとはいえ、作り手の立場から逃げ出した卑怯者ヤローが言える立場じゃありませんね。失礼しました〜。…でもまあ、これだけムカムカする映画を作ったという点では評価できるのかも? (^_^;)

以上、25 日分です。

過去ログ表示

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

カテゴリで表示

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


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

Powered by hns-2.19.6, HyperNikkiSystem Project