2014年12月30日火曜日

Simutransでアドオン差異が出る。

どうもsiba018です。
前回鯖にSimutransを入れて、試しに遊ぶかと思い、いつも使ってるpakファイルを送信して実行してみました。すると


デデドン(絶望)
思いつく原因は何個かありまして、
  1. クライアント側が車庫フィルタパッチを当てたr7373改
  2. 実はpak128のどっかがおかしい
  3. 文字コードがすっ飛んでて変なファイル読んでる
  4. 鯖版をマルチスレッドでビルドした
とかですね。
まあ結論から言うと、公式からr7373(120.0)を落としてきてクライアントとして実行してみたら普通に出来ました。チーン。

で、debug -3にしてデバッグしてみたら、こんな事になってました。

//窓蔵   Cement -> sha1 = 35A0B10DFA7B045B83D0370E580B1CFA2C0ACB21
//鯖    Cement -> sha1 = DFB35A2CABC05A305B539D5094E9B7FCC96C502D

見事にハッシュ値が違う。
原因として思いついたのが、zlibとかbzlibのバージョンが古いのではないか。ということです。
現状クライアントのビルドに使ってるbz2のライブラリとかは
開発/ビルド方法 - Simutrans日本語化・解説
ここに載ってる
How to compile Simutrans (&Makeobj) on Windows with MSVC
に上がってるやつを使ってます。これ、確実に2009年にビルドされたものですね・・・。

ちなみに、鯖に入ってるbzip2とzlibのバージョンは、
 zlib.x86_64         1.2.3-29.el6
bzip2.x86_64        1.0.5-7.el6_0
でした。(yum list installedで確認)

ということは、これと同等、若しくはそれ以上のバージョンでビルドした方が良さそうですね。

How to~に載ってるbzlibは1.0.5、zlibは
Zlib for Windows
最新は1.2.3、最終更新日は2007年。あれっ。

さて困りました。細かいバージョン等もあるとは思うんですが、cygwin辺りでいい感じにビルドする必要があるんですかね?
公式のビルド環境が知りたさすぎる・・・。mingwでビルドしてみたりしてみると良いんですかね。ウーン。


(2014/12/31 20:39 追記)

MinGWで頑張ってビルドしてるんですが、うまく行かなくて真顔。

(2014/12/31 22:48追記)
r7373→r7442にしたら大丈夫だった。大晦日になにやってんだろう・・・

2014年12月28日日曜日

CentOSにSimutrans120.0をビルド&インストール

どうもsiba018です。前の記事見なおしたらめっちゃ見にくかったので、新しく書き直す感じです。


環境はCentOS6の64bit版。今回もさくらVPSです。
ビルド対象は120.0のリリース版(r7373)です。

まず、svn使ってSimutransのソースコードを落としてきます。

svn --username anon co -r 7373 svn://tron.yamagi.org/simutrans


次に落としてきたソースのtrunkに入っているconfig.templateをconfig.defaultにリネームするかコピーして、適当なエディタで開き、以下のコメントアウトを解除します。

BACKEND = posix
COLOUR_DEPTH = 0
OSTYPE = linux
DEBUG = 3(一応)
OPTMISE = 1
WITH_RIVISION = 1

で、今回は試しに
 MULTI_THREAD = 1
もやってみます。

次に、ビルドする為に必要なライブラリとか入れます。
・zlib
sudo yum install zlib-devel

・bzlib
sudo yum install bzip2-devel

で、make all でビルド出来るはずです。
出来たらtrunkに入っているget_lang_files.shを実行しておきます。後はtrunkの中で完結するハズなので、それで終わりって感じ。

すごいスッキリした。おわり

2014年12月25日木曜日

タイヤゲージを買った

どうも。siba018です。メリーファッキンクリスマス。
タイトルの通り、カブ用にタイヤゲージを買いました。
GSにあるから良いじゃんなんて話もありますが、GSにあったエアーコンプレッサーだとリトルカブのホイールに引っかかり、甘く入って空気が抜けるだけ、という悲しいことがあったからです。お値段も手頃ですしね。
あともう一つ理由があって、カブ買ってから空気入れないで2年弱乗ってた結果、後輪がパンクしまして、こりゃいかんといった感じで買いました。
買ったのはこれ

誤差は10kPaらしいですが、中々イケてると思います。空気抜く用のボタンも用意されてるんで、入れすぎても安心。
皆もタイヤの空気圧はコマメにチェックしような!おわり


/*そういえば後輪の修理頼んだ時、前輪にも空気入れてもらったんですが、その後スローパンクチャー起こして死んだという。結局タイヤレバーとか買って自分で直した。*/

2014年11月8日土曜日

Terrainのドライバ導入で躓いた話

どうも。siba018です。
基本的には、 【NEC Terrain】一時的root取得( Temporary Root ) | cuda's memo さんと一緒ですが、躓いたところだけメモ
・ドライバが見つからない
 普通、ドライバを当てるときはドライバの更新からフォルダを指定してやると思います。
しかし、どうもうまく行かなかったので友人に手伝ってもらいながら導入することが出来ました。


・失敗手順





・解決方法
ドライバ一覧から、直接android_winusb.infを指定する方法です。


すべてのデバイスを表示で次
 ディスクの使用をクリック

変更したandroid_winusb.infを選択

あとはそのままインストールするだけ

本当にインストールされたかDDMSで確認

 イエーイ


TerrainはNA002らしいですが、NA001のドライバが降ってきたのでこれが悪さしてるんじゃないか、と思っていましたが勘違いだったようです。実際xda読んでみると、NA001のドライバ叩きなおしてTerrain用にしたよ 的なそんな感じらしい。というか公式でドライバ配って欲しいですね・・・。
おわり。

NEC Terrain買っちゃいました。

明石が出ない。siba018です。
タイトルにもある通り、某スレとかTwitterで話題になってるNEC Terrainを買ってしまいました。



今Terrainでこの記事を書いてますが、快適です。QWERTY万歳。
ただちょっとボタンが硬い気がするので、慣らさないとだめですね。
とりあえず、morelocale2を入れて、GoogleIME入れてぽちぽちやってます。
まとまらないので、自分の中でTerrainの良かった点、微妙な点を書き出してみました。

○良かった点
・ハードウェアQWERTYキーボード搭載
・防水防塵耐衝撃 さすがNカシ
・スピーカーの音量がデカいのでアラームが強いのでめっちゃ起きる 起きた
・FMラジオ搭載 日本のも聴けます。
・Android4.0なので有り難い

×微妙な点
・ちょっとキーボードが硬いかも
・矢印キーがない
・液晶がちょっと小さく感じる
・中華フォント
・めっちゃAT&Tのアプリ入ってる
・Android4.0だとOnenote使えないので悲しい

何個かtemproot取っちゃえば解決される問題もあるのでやっちゃいたいですね。
あとGoogle IMEだと、シフトとかAlt押しながらじゃないと記号とかが打てないのでちょっと不便。 ATOKだと行けたりするんですかね。
まあ久しぶりいい感じの端末なので、色々弄っていきたいですね。おわり

2014年5月26日月曜日

WordPress高速化 でっきるかな ~WindowsServer + Nginxで死んだ編~

どうも。siba018です。
前々回の記事の通り、どうしようもないレベルでWSが遅かったので、どうにかしようと考えてました。
そこで気がついたのは
「WSでもNginx入れてリバースプロキシにすれば速いんじゃね?!w」
早速探してみました。ありました。nginx for Windows
めっちゃ闇っぽい。実際闇でした。

Known issueに、「The cache and other modules which require shared memory support do not work on Windows Vista and later versions due to address space layout randomization being enabled in these Windows versions.」と書かれています。これは、WindowsVista以降Windowsは、ASLRという技術を用いて、アドレス空間配置のランダム化を行っています。それに、Nginx for Windowsは対応していないよ、という話でした。

まあ、関係ないことだろうと思っていましたが、これに見事に引っかかります。
前回の記事の通り、Nginxのconfを書き、いざ起動、と言うところで問題が発生しました。エラーログには
「shared zone "cache" has no equal addresses: 02CC0000 vs 03560000」
と書かれています。ビンゴです。共有メモリのアドレスが変わっています。

困った。ということで、ASLRを無効化出来ないか?と思い、いろいろ調べてみました。
EMETを使う、 "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages"を設定し、強制的に無効化させようとする、等やりましたが、ダメでした。

ち~ん(笑)

次は、Nginx使わないでもそれなりに速くなったので、それについて書こうかと思ったんですが、書いちゃうと手の内がバレちゃうなあと、ザコなので特に意味が無さそうですが.

2014年5月24日土曜日

WordPress高速化 でっきるかな ~Nginxでリバースプロキシ編~

ど、どうも。siba018です。
先日、CentOSにフッツーにApache入れて、フッツーにWordPress入れたんですが、今回のTuning Maniacs、負荷テストが主なので、これはリバースプロキシの出番では?と思い、思い切ってNginxに変更してみました。

参考はこの辺。
さくらの VPS に nginx を入れてリバースプロキシ設定するまでの作業メモ(検証用) | ウェブル
Nginx + WordPress proxy cache篇 « サーバーワークス エンジニアブログ

で、結果。
まずApache↓

そこそこです。
で、Nginx+FastCGIとか。
驚きの差です。ここから更に詰めていけばもっと速くなるんじゃないんでしょうか。
負荷テストするべきですが、Apacheでそもそもし忘れてしまったので、まあ、って感じです。

そういえば今回は測定にGTMetrixを使いました。前回使用した、WebWaitでは、測定結果にバラつきが出てしまうので。

とりあえずこんな感じです。おわり。

2014年5月22日木曜日

WordPress高速化 でっきるかな~序~

siba018です。
Tuning Maniax 2014 - 蒼き調律者たち -に、懲りもせず参加しております。

で、1stステージも終わって、順位が出てました。 ちょっとばかし弄ったし、それなりに早くなったっしょ?wとか思ってました。


おめえはよお 考えが甘いんだよ!

全104人中94位です。とても、とても良いスコアが出ました。

2stは力入れます・・・(震え声)

とりあえず悔やんでもしかたがないので、とりあえず表示時間を。http://webwait.com/で調べてみました。
提出した1stステージのWordPressの結果↓
(察し)

とても遅いですね。どうにかならなかったのか。
で、とりあえず用意した2ndステージ用のも、何もしていない状態で測定してみました。
Linux(CentOS+Apache)↓

 あびゃあ。遅いですね。
WindowsServer2012R2にIISだかなんだか入れたやつ↓
 ち~ん(笑)

どうするの、これ。金満ではないので、インスタンスは基本A1ですが、どこまで早く出来るか、頑張ってみたいですね。
負荷テストが重要?なので、Linuxの方はnginxにしてみるのもアリかもしれませんね。

おわり。

ついき。WS2012のWordPress更新したら0.5secぐらい遅くなった!やったね!