SD カード上に入れた gnupack で python numpy を使う

SD カード上の gnupack (gnupack_devel-10.00) で、python numpy を apt-cyg から入れても動かない。

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/site-packages/numpy/__init__.py", line 137, in <module>
    import add_newdocs
  File "/usr/lib/python2.6/site-packages/numpy/add_newdocs.py", line 9, in <module>
    from lib import add_newdoc
  File "/usr/lib/python2.6/site-packages/numpy/lib/__init__.py", line 13, in <module>
    from polynomial import *
  File "/usr/lib/python2.6/site-packages/numpy/lib/polynomial.py", line 17, in <module>
    from numpy.linalg import eigvals, lstsq
  File "/usr/lib/python2.6/site-packages/numpy/linalg/__init__.py", line 48, in <module>
    from linalg import *
  File "/usr/lib/python2.6/site-packages/numpy/linalg/linalg.py", line 23, in <module>
    from numpy.linalg import lapack_lite
ImportError: No such file or directory
>>>

web を検索すると、こういう情報が出てくる。→
numpyでlapack_fileを読み込んでくれないとき – 放置演算子
このサイトで言っているのは、必要なライブラリにパスが通ってないということだが、このサイトの対応方法では新しいバージョンを上書きインストールした時に、使っているライブラリとズレが出て、将来にハマる可能性がありそう。
なので、リンクを張ることにするが、やっぱ怒られる。

>>> import numpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.6/site-packages/numpy/__init__.py", line 137, in <module>
    import add_newdocs
  File "/usr/lib/python2.6/site-packages/numpy/add_newdocs.py", line 9, in <module>
    from lib import add_newdoc
  File "/usr/lib/python2.6/site-packages/numpy/lib/__init__.py", line 13, in <module>
    from polynomial import *
  File "/usr/lib/python2.6/site-packages/numpy/lib/polynomial.py", line 17, in <module>
    from numpy.linalg import eigvals, lstsq
  File "/usr/lib/python2.6/site-packages/numpy/linalg/__init__.py", line 48, in <module>
    from linalg import *
  File "/usr/lib/python2.6/site-packages/numpy/linalg/linalg.py", line 23, in <module>
    from numpy.linalg import lapack_lite
ImportError: Exec format error
>>>

しょうがないので、調べてみる。

# cygcheck.exe /lib/python2.6/site-packages/numpy/linalg/lapack_lite.dll
G:\gnupack_devel-10.00\app\cygwin\cygwin\lib\python2.6\site-packages\numpy\linalg\lapack_lite.dll
  G:\gnupack_devel-10.00\app\cygwin\cygwin\bin\cygwin1.dll
    C:\WINDOWS\system32\KERNEL32.dll
      C:\WINDOWS\system32\ntdll.dll
  G:\gnupack_devel-10.00\app\cygwin\cygwin\bin\cyglapack-0.dll  G:\gnupack_devel-10.00\app\cygwin\cygwin\bin\libpython2.6.dll
chgcheck: G:\gnupack_devel-10.00\app\cygwin\cygwin\bin\cyglapack-0.dll is a symlink instead of a DLL

シンボリックリンクはダメ、らしい。
じゃぁ、とハードリンクを張ろうとするが、Fat32 でフォーマットされている SD カード上ではハードリンクが張れない。
ということで、SD カードを NTFS でフォーマットし直す。→SDカードをNTFSフォーマットする
で、その SD カード上でハードリンクを張れば、ちゃんと動く。

# cd /usr/bin
# ln /usr/lib/lapack/cygblas-0.dll cygblas-0.dll
# ln /usr/lib/lapack/cyglapack-0.dll cyglapack-0.dll

kobo glo 買ったよ

蓋,開けたよ.
参考は,こちら.

で,外から telnet が通るようにしてみた.
参考はこちらだが,注意があるkoboが来た - kobo
このサイトでは kobo (多分,touch) が使われていて,kobo glo とは少し仕様が違う.
microSD はただ引っこ抜くだけだし,4GB だし,DD for Win からは認識しないし.
なので,Linux から mount していじること.

リンク先のコピーだけど,まぁやったこと.

  • Ubuntu on VBox から microSD をマウント.
    • VBox のインストールは省略.
    • デバイスから,USB デバイスのmicroSDを選択.
    • どうせ最初は dd で吸い出すだけなので,念のため umount しておく.
  • コピー
    # dd if=/dev/sdb of=backup

    デバイス名は df とかで確認すること.3つパーティションがあるけど,焦らない.

  • /rootfs/etc/init.d/rcS へ,ターミナルが使う pts デバイスをマウントさせる.
    hostname kobo
    mkdir -p /dev/pts
    mount -t devpts devpts /dev/pts
    

    1行目の hostname がなかったら,どうなるかは調べてない.

  • /rootfs/etc/services でコメントアウトされているポートとサービスの対応を認識させる.
  • /rootfs/etc/inetd.conf で ftpd と telnetd のコマンドを書く.
    ftp stream tcp nowait root /bin/busybox ftpd -w -S  /
    telnet stream tcp nowait root /bin/busybox    telnetd -i

    busybox へのリンクを /rootfs/bin 辺りに作っておけばいいじゃないか,という気がせんでもないが...
    各オプションの意味は,-w: アップロード許可,-S: /var/log/ftpd へ出力,-i: inetd 経由で起動,らしい.

  • /rootfs/etc/inittab で inet の起動コマンドを記述.
    ::respawn:/usr/sbin/inetd -f /etc/inetd.conf
    参照先のコマンドには typo があるので注意.

追記:
結局,swap 領域を作りたくて,KoboFW2.2.1Patch を拾ってきて入れちゃった.

追記2:
4GB のオリジナルイメージを 32GB の SanDisk Ultra Speed に DD でつっこもうとしたら,1時間たっても終わらんとか,鬼過ぎるほど時間かかる.
メインストレージの差し替えを考えてる人,マジ注意だぜ.

Word Press の設定

導入時の注意点

インストールは解凍するだけなので簡単.
mysql を展開しておわりかと思いきや,落とし穴があった.

  • mod_php を使う場合,フォルダ配下のオーナーを www-data とかにしておく.
  • 真っ新な wordpress を入れることにする場合,テーマとかプラグインとかが入ってなくて動かないので,バックアップの DB をインポートする前にとりあえず新規インストールを完了させてしまって,テーマとプラグインは入れておく.
  • プラグインやテーマのインストール時に FTP 接続情報を求められる場合,define('FS_METHOD','direct');を wp-config.php に入れる.
    多分,現象から推測するに,サーバーにプラグインを pull しにいくよう動作を変更させるのだと思われる...多分...

DB 構成について

  • wp_users,wp_usermeta はユーザー情報.とりわけ wp_users にはパスなんかも hash をかけて保存されている.
  • wp_terms,wp_term_* は,タグとかカテゴリとかリンクグループなどの名前・slug・分類・記事との関係を保存したもの.
  • wp_options は,プラグインとかの設定を保存したもの.消したプラグインの設定も残っているので,ゴミが多い.新規に入れ直して綺麗にしたい時にはバックアップ不要.
  • wp_posts は記事,wp_postmeta は記事内からのメディアファイルの参照や更新ロックの情報など.
    更新ロックの情報は削除しても問題なさげ.詳しくは,[WordPress] postmetaテーブルの_edit_lastと_edit_lock | きほんのき
    要は,meta_key="_edit_lock" に格納される UNIX タイムスタンプと,meta_key="_edit_last" に格納される最終更新ユーザーのユーザー ID は消しても構わんということ.
  • wp_comments はレス,wp_commentmeta はコメント削除などの情報.
  • 他は,そのまんまなので省略.

プラグインとか

  • WPTouch は, ver 1.9.5 以降は投稿できないバグがあるので,1.9.42 以前とすること. (1.9.4.2 の間違いではない.各人で readme.txt を読むこと)

また追記します…

E-ink式電子ブックリーダー

職場のN谷先輩のsony readerを見ていて欲しくなったので調べてみた.
以前から評判の高かった nook simple touch with glowlight と,それと比較されている他社リーダーを調べてみた.

Cybook Odyssey
【山口真弘の電子書籍タッチアンドトライ】国内未発売の「最新型」電子ペーパー端末3製品を試す で紹介されている.
動画の起動画面が出る.
驚いたけど,本を読むのには不要な気がする.
nook simple touch with glowlight
kobo glo
kindle paperwhite
上記と同じく,【山口真弘の電子書籍タッチアンドトライ】国内未発売の「最新型」電子ペーパー端末3製品を試す にて紹介されているほか,kobo glo,kindle paperwhite との比較動画もある.

画面の上にライトがあるのは,見辛いかも.
それに,ちょっと暗い.
こうして見ると,kindle paperwhite が良さげだなぁ.

ブラウザMC☆あくしずの施設設置コストの考察誤りについて

最近,ブラウザゲーにハマっている.
やっているのは,ブラウザ MC☆あくしず -鋼鉄の戦姫- というやつ.
ブラウザ三国志(略してブラ三)の移植ゲーの一つである.

目的は,戦争して世界征服するとかそいういう感じで,戦力をいかに効率良く整えるかが重要である.
戦力を整えるには,2つの手段がある.1つは街に施設を作って,兵隊を生産する方法である.
もう1つは,100枚を上限(無課金の場合)に集められるキャラクタを育成する方法である.
キャラの入手方法はカードダスと同じ要領で,運とリアルマネーのつぎ込み方によって,性能の高いキャラを入手できるか否かが決まる(トレードは省略).
強いキャラがいた方が有利だが,最終局面での強さは,施設設置効率やキャラの強さによって得られた生産性を生かし,整えた兵隊の数とランクに左右されることが多い.

んで,興味を持った人は記事右に表示されるバナーから登録してチュートリアルを一通りクリアしてもらいたい.
私はワールド5にいるけど,途中参戦はちょっと厳しいかも.

前置きはこのくらいとして…
本記事では,ブラウザMC☆あくしずの資源施設の効率について考察してみたい.
多くの記事では,設置済の施設のレベルアップに必要な材料の総量と,その効果を比較していることが多い.
(例:
日々是精進@ブラウザ三国志 拠点の育て方 生産施設の最適Lvは?
資源回収までの日数 研究/考察 ブラウザ三国志攻略データwiki
資源施設について|ブラウザ三国志プレイ日記
などなど…枚挙に暇がない)
※ブラ三とあくしずは,生産コストと生産量が同じなので,ブラ三のデータでも気にしないこと

資源施設に限って言えば,
私は,lv x の施設建設に必要な lv 1 からの累積コストを,lv x の生産量で回収するトータルコストの回収モデルが妥当だと思うのだが,なぜ多くの記事では lv x-1 から lv x へレベルを上げる時の コスト差分vs生産量差分 に着目するのか不思議でならない.
誤った結果を示すからである.

例えば lv 1 の生産施設は 10秒 で建設が完了し,lv 2 の生産施設は 30秒 で建設が完了する.
lv 1 の生産施設の材料分の生産を lv 1 の生産施設が上げるまでの時間は 16.67hour である.
さてここで,lv 2 の建設コストを lv 1 から lv 2 への生産量の増分で回収する場合 31.38h 必要であるが,16.67h 経過時点で lv 1 の生産コストの回収は終えているのだから,残りの時間は lv 2 の総生産量で回収できる時間を算定すべきである.
例えば,lv 1 の建設後,1時間してから lv2 を建設した場合,トータルコストの回収は 25h 経過後である.

施設建設後,すぐに次の施設建設にとりかかることにする場合,lv15 までの建設総コストの回収は 1106h = 46.1day で回収できる.

あくしず 資源施設 建設シミュレーション(lv15)
そのシミュレーションは,右図の通りである.
ここで,縦軸=資源総量,横軸=経過時間(h)である.
例えば,継ぎ目なく建設を続けた場合の,建設開始から 10日後 の収支は,横軸のラベルが 240 の時の縦軸の値で, -541,947 である.

さて,ここまで真面目に考察すれば当然のことであるが,よく言われている

レベル15になると、例えゲームが開始した瞬間に即完了でレベル15を建てたとして(無理ですが)
ぎりぎり回収が可能、という計算になってしまいますね。

日々是精進@ブラウザ三国志 拠点の育て方 生産施設の最適Lvは?

なんてことはあり得ない.
だいたい,lv 1 の建設コストを,lv 1 の施設の低い生産効率で回収する必要など全くないのだから,差分分析は机上の空論である.

とはいえ,これでは lv 14 と比較して lv 15 が効率的か否かを検証できていない.
そこで,lv 8~15 の各レベルまで建設した後の収支を算定してみる.

あくしず 資源施設 建設シミュレーション 比較(lv8-15)
その結果が右図である.
こうして比較すると,収支は黒字になるものの lv 14 の収支を lv 15 では 120day = 2880h では逆転できないことが分かる.
ブラウザMC☆あくしず の 1ゲーム は4ヶ月であるので,建設材料さえ確保できれば,lv14が最も収支が良いことが分かる.

勿論,これは建設に十分な資源がある前提であるので,ゲーム序盤では建設間隔がもっと開く.
例えば,lv 14 の建設に必要な材料の調達に,37日以上かかる場合は,lv 14 と lv 13 の資源施設と収支逆転ラインの 83day が残っていないことから,途中レベルの建設がいつ時点で可能か計算した上で,収支算定の修正が必要である.
また,十分回収可能な期間を経過後に lv x → lv x+1 へレベルアップした時のコスト効率は,差分コストの分析でも正しい.

--- 以下,付録 ---

さて,今回の考察では,なぜこんな差分が生まれたのか.
あくしず 資源施設 建設コスト(累積,差分)
それは,右図を見れば明らかである.
ここで,縦軸=コスト/生産量,横軸=施設レベルである.
累積コスト1のグラフ(マゼンタ)は,そのレベルの施設を建設するまでに lv 1 の建設から必要な累積のコストを,最終生産量で除算したものを施設レベル毎にプロットしたもので,
差分コスト1のグラフ(ネイビー)は,そのレベルの施設を建設するために必要な,最後の建設のコスト(差分のコスト)を,そのレベルアップで増加する生産量(差分の生産量)で除算したものを施設レベル毎にプロットしたものである.
1の収入に対する累積コストは,施設のレベルアップに対して一次関数的に増加するのに対して,
1の差分収入に対する差分コストは,施設のレベルアップに対して二次関数的に増加する.
この差分が,考察の違いとなって表われている.

なお,これら算定には Microsoft Excel を用いており,そのシートを置いておくので,詳しく知りたい人は参照されたい.
あくしず 資源施設シミュレーションファイル

--- 以下,付録2 ---

別の観点で,建設が生産に結びつかない兵舎と駐屯地について,収容兵数辺りのコストを総コストの観点と差分分析の観点から比較すると面白いことが分かる.
あくしず 兵舎vs駐屯地 総コストの観点から
あくしず 兵舎vs駐屯地 差分分析の観点から
ここで,縦軸は先の考察と同様に,
総コストの側は 各レベルの施設の建設に必要な lv 1 の建設からの総コストを,収容兵数で除算したものであり,
差分分析の側は 各レベルの施設の建設で最終建設に必要なコストを,最終建設で増員される兵数で除算したものである.
横軸は,施設レベルである.
注意すべきは,建設が生産に結びつかないことから,この施設については差分分析が可能であり,lv 15 の施設建設における差分分析の結果が逆転していることが,
総コストの観点から見た収容効率の差が縮まることと合致している.
前の算定と同様に,算定ファイルを置いておく.
あくしず 兵舎vs駐屯地 シミュレーションファイル

--- 注意 ---

実際のゲームでは,パネルを1つ使うコストが大きく,施設単体のコスト対効果が劣っていても,パネル消費が少なく総収容数や総生産量が大きい施設を建設するなどの判断が必要である.

(Webコミ) 人生ゲーム

久々に,マンガにハマってしまった.
●○web漫画「人生ゲーム」 - 廃人への人生岐路

人格交換強くてニューゲーム系のよくあるシチュエーションながら,立花が可愛い過ぎてハマった.
いいよねぇ,強くてニューゲーム…
と,現実逃避するのに最適な一作である.

同じサイト内に,自分で二次創作したエロ同人が置いてあるので,注意.
にしても,最初と比べてメチャクチャ絵が上手くなったなぁ…この人.
同人書いてる頃にはもっと上手くなってるし.
恐るべし継続の力.

それにしても,番外編のおバカな学生ノリは,ちょー羨しい.
俺ももっと,バカな学生やっておくべきだった.

パナソニック P-01D の root 奪取

追記
Superuser.apk が正しく動かなかったので,対策をとった.

症状:

  • バイナリの su は正しく動作するため,adb shell の中で su はきく
  • アプリから Superuser.apk が呼べず,su を取得するダイアログが表示されない

対策は,下記でも参照している,P-01Dをroot化する - ごりぽんソフトウェア のコメント欄の uru さんの報告を頼りに,

  1. Superuser.apk を入手する.(hadacchi は HT-03a から抜き出した v3.0.4 を使った.最新のでも動きそうだが,容量が大きいのでやめた.)
  2. P-01D の /system/app/Superuser.apk を消す.
  3. リブートし,/system/app へ手動で Superuser.apk を配置する.

Clocksync で時刻合わせをしようとすると,su 権限を取得するダイアログが表示され,その後正常に動作することが確認できた.
原因はよく分からん.

なお,adb push が通らず Superuser.apk の再配置でうまくいかないかもしれない.
SD カードへ一旦コピーして,shell からコピーすること.


ドコモポイントを使って,2,100円で手に入った.
下に書いてあることをやって,購入から5時間で保証対象外の端末にしてしまった.
高いものではないので,マネして文鎮化したら,買い直すこと.hadacchi は責任もたない.

P-01D の特徴

  • 妙に安い,android 2.3 スマホ
  • 安定版と呼べそうなカスタム ROM は,まだなさげ.
  • 本体メモリが小さい… といっても,これまで使ってた HT-03A よりも多い 340MB ある.いらんものを消せば,問題なし.
  • スペックが低い… らしいけど,HT-03A より百倍マシ.いらんものを消せば,問題なしになりそう.
  • 画面が小さい… HT-03A よりも横幅が狭い.使ってみると不満出るかも?
  • 航空機モードで Wi-Fi が動かない… これは,セルスタンバイ問題が現れるので,痛い.仕方ないので,ガラケーに入れてた SIM を差して,ケータイとしても使ってみることにする.不満が出るかは不明.

ということで,いつも通り root を取って,いらんアプリを消す.

root 奪取

基本は,P-01Dをroot化する - ごりぽんソフトウェアで公開していただいている,ツールを使う.
adb は,公式頒布のものと異なるものを使うらしいと 2ch 情報にもあったので,間違いが起こらないよう「_run_me.bat」は,

set ADB=.\adb
...
(以降の「adb」を「%ADB%」に書き換え)

みたく,ちょっとだけ触った.
で実行したが,解説にあるドライバインストールのダイアログも出ず,動かない…
仕方ないのでデバイスマネージャからandroid-sdkのドライバを入れる.
その後,1回目はSDのマウントに失敗し,バックアップは取れないまま,本体にsuコマンドは追加された.
adb shell を叩いても プロンプトが「#」にならない.(su すれば良いことに後で気付いた.)
なので,念のためもう一回実行してみた.

不要アプリの削除

容量にあまり余裕がないので,不要アプリは全て adb pull で引っ張り出して (sdcard に mv がうまくできなかった) 本体からは削除してみた.
↑df するまで知らなかったが,/system と /data は別パーティション.
消したアプリの一覧は,apk 名で,下記ども.
随時消していたので,pm list packages -d -f の出力はない.
他にも GooglePlus だとか navitime だとか壁紙系だとか,消す候補はまだまだあるものの,気力不足でもう力尽きた.
今後は,battery use を見て,使ってないものを消すことにする.

  • AreaMail.apk
  • BeeTV.apk
  • BookShelf_preset_ver092.apk
  • Customapp_DLApp_20110621.apk
  • DocomoMarket.apk
  • Econavi.apk
  • EconaviManager.apk
  • Email.apk
  • EstarAP1DL.apk
  • Evernote_launcher_docomo.apk
  • FuturePlus.apk
  • FuturePlusProvider.apk
  • GREEforP.apk
  • GenieWidget.apk
  • GoogleQuickSearchBox.apk
  • iChannel.apk
  • Koe_no_Takuhaibin_DL.apk
  • MakerSiteLink.apk
  • ManualDownloaderP01DNewIcon.apk
  • Papercraft.apk
  • PhoneBookCopy.apk
  • PhoneCall.apk
  • RakutenGatewayDownloader.apk
  • Shortcut.apk
  • SyncMLApp.apk
  • Talk.apk
  • Twitter_release.apk
  • VPL_Android_dcm_Rel_Signed.apk
  • WeathernewsTouch.apk
  • auction_downloader.apk
  • dmapnavi_navi.apk
  • docomoAccountAuthenticator.apk
  • docomo_market.apk
  • gnavi-20110909.apk
  • installer.apk
  • mai.apk
  • mcd_pre2_signed_ver202.apk
  • melodycall.apk
  • mixi_downloader.apk
  • nttdocomo_gs_utility_downloader_v100_20110720.apk
  • spmode_mail_downloader.apk
  • toruca.apk

最近の当サイトへのアクセス

最近,あまりメンテしてないこのサイトで,どの記事やどんな目的の人がきてるのかなーとか調べてみた.
といっても,前から入れてた W3Counter (昔の記事へのリンク) の統計見るだけ.

以前は,本weblogで最大のREQUEST数を誇るページ でも書いている通り,圧倒的に win7 における proxy の設定についての検索が多かった.
サブドメインを切った後にリセットされたアクセス統計を見ると,こんな感じであった.

1 [windows7 で proxy の設定](http://www.hadacchi.com/wp_blog/?p=118) 21%
2 [Outlook 2007 で重複メールを削除する](http://www.hadacchi.com/wp_blog/?p=639) 19%
3 [regsvr32.exe in Win7 x64](http://www.hadacchi.com/wp_blog/?p=428) 6%
4 [Windows7 で ffdshow で H.264 コーデックでデスクトップキャプチャ](http://www.hadacchi.com/wp_blog/?p=353) 6%
5 [NOOK Color に CM9.0.0-RC0 を入れたよ](http://www.hadacchi.com/wp_blog/?p=1160) 3%
6 [Android 携帯で Gmail が何日も送信されない件](http://www.hadacchi.com/wp_blog/?p=465) 3%
7 [Excel のエラー「office ファイル検証機能によって問題が検出されました 云々」](http://www.hadacchi.com/wp_blog/?p=1074) 3%
8 [hadacchi blog (トップページ)](http://www.hadacchi.com/wp_blog/) 3%
9 [自作PC 2号](http://www.hadacchi.com/wp_blog/?p=1238) 3%
10 [Windows 7 (x64) で Ragnaro"k Online](http://www.hadacchi.com/wp_blog/?p=324) 2%

MS 製品は,利用者が多いんだなぁと実感する結果になった.

なお,このサイトの閲覧数の規模感としては,簡単なスパム除去を行なった上で,およそ 120 pageview/day 程度である.
1 年前が 70 程度だったので,少しだけ増えている.