SyntaxHighlighter

2014年11月25日火曜日

Hyper-VとかWin2012R2とかの注意事項

  • 第一世代の仮想マシンはCD/DVDをホストのドライブに紐付け可能だが第二世代ではできない。
  • メモリが512MBの仮想マシンではWin2012R2のインストールは失敗する(0xE0000100)。1GBならOK。

2014年11月24日月曜日

Windows Server 2012 R2 Hyper-V on ESXi 5.5

ESXi 上に作成した仮想マシンに普通に OS インストールして使う分には問題ないのですが、Hyper-V の役割を追加しようとしたら『ハイパーバイザーは既に実行中です』というエラーが出てできませんでした。

capture_007_22112014_210202.png

ググリ方が悪いのか日本語の情報はほとんど見つからなかったのですが、英語サイトの情報を参考に使えるようになりましたので共有しておきます。

環境
サーバ:HP ProLiant MicroServer (Gen8じゃないやつ)
CPU:AMD Turion™ II NEO N54L(2.2GHz、25W) x 1 (初期装備)
MEM:16GB non-ECC メモリ (初期のECC4GBメモリは外して換装)
HDD:500GB SATA (初期装備)
ESXi:5.5U2 (Build 2068190/HPのカスタマイズイメージ使用/無料ライセンス)
vSphere Client:5.5 (Build 1993072/上記のESXiからダウンロードしたもの)

  1. まず普通に仮想マシンを作ってWin2012R2をインストールします。仮想NICは2枚にしてください(後から追加でもいいですけど)。仮想マシンのタイプの選択はWin2012 64bitでOKです。
    ここで注意。出来上がった仮想マシンのバージョンは 8 のはずです。 仮想マシンを停止してインベントリで仮想マシンを右クリックすると、メニューから「仮想ハードウェアのアップグレード」を実行することができ、これをするとバージョンが vmx-10 になります。 が、これはやっちゃだめです。これをすると仮想マシンの設定の編集が vSphere Client ではできなくなり、Web Client でないと編集できなくなります(2015/10/03追記:vSphere Client 5.5u2 で編集できるようになりました)。 Web Client は有料の vCenter Server が使えるライセンスが無いと利用できないので、無料版ユーザーは仮想マシンの編集を GUI でできなくなってしまいます。 Hyper-V on ESXi の説明サイトの中には、仮想マシンのバージョンを 10 にするよう指示しているものもありますが、無料版ユーザーはそのままやってしまわないように注意してください。 このページで紹介している手順はバージョン 8 前提です。
  2. Win2012R2 を Windows Update で最新の状態に更新しておきます。これは必須じゃないと思いますが参考にしたサイトの手順がそうなっていたので私もそうしました。
  3. ここで仮想マシンのバックアップをとっておきましょう。Win2012 R2 を停止して、データストアの中のフォルダごとコピーしておくか、OVF または OVA エクスポートしておけばいいです。 尚、OVF(OVA)エクスポートする際は、CD/DVDを[クライアントデバイス]に紐付けてからでないと、デプロイするときに失敗するので注意してください。
  4. インベントリで Win2012 R2 の仮想マシンを右クリックし、[インベントリから削除]します。
  5. ESXi ホストで sshd を起動していない場合(デフォルトでは起動しません)は、sshd を起動します。 インベントリでホストを選択して、[構成]-[セキュリティプロファイル]-[プロパティ]をクリック。 capture_029_24112014_154017.png [SSH]を選択して[オプション]をクリック。 capture_030_24112014_154120.png [開始]をクリックで完了です。
  6. TeraTerm などで ESXi ホストに ssh ログインします。デフォルトで root ログイン可能です。パスワードはチャレンジレスポンスで。
  7. # vi /vmfs/volumes/データストア名/Win2012R2の仮想マシン名/Win2012R2の仮想マシン名.vmx
    末尾に以下の2行を追記して保存します。
    vhv.enable = "TRUE"
    hypervisor.cpuid.v0 = "FALSE"
    
  8. データストアブラウザで、編集した vmx ファイルを右クリックし、[インベントリへの追加]をします。 capture_011_24112014_112909.png
  9. Win2012 R2 を起動して役割として Hyper-V を追加します。

私はこれでいけました。サイトによっては、仮想マシンの設定のオプションのところで、CPUのマスク値を設定したり、[CPU/MMU仮想化]の設定を一番下のラジオボタン選択にしたりといった手順がありましたが、それらは不要でした。

2014年11月23日日曜日

HPのMicroServer

NTT-X Storeで税込み送料込み\12,900-也。やっす。ってことで買っちゃいました。

HP公式的には、メモリは最大8GB、仮想化非対応ってことになってるんですが、ググると16GBメモリ認識させてESXiも入れてる情報があったので、ECC無しのメモリ16GB(サーバー本体より高かったw \14,000-)にして、ESXi5.5U2インストールしてみました。できました。ローカルディスクにはインストールできないと書いてあるWEBサイトもあったのですが、普通にローカルディスクにインストールできました。
ちなみにメモリは↓です。円安のせいか私が買ったときよりだいぶ値上がりしちゃってます・・・。

ESXi5.5は、hp仕様にカスタマイズされたイメージを使いました。
http://www8.hp.com/us/en/products/servers/solutions.html?compURI=1499005#tab=TAB4

2014年11月22日土曜日

[VMware]データストアに置いたものをESXiから見る

データストアブラウザで、ESXiが入っているデータストアの中に何かを置く

ESXiにsshでログイン

# ls /vmfs/volumes/データストア名/何かのファイル名

[CentOS6.6]デフォルトのsshd_config

sshd_config_cent66_default.txt

[CentOS6.6]Desktopでインストールしたときの初期chkconfig

chkconfig_cent66_desktop.txt

[CentOS6.6]Desktopでインストールしたときの初期rpmリスト

rpmlist_cent66_desktop.txt

GooglePlayの有料アプリについて

9月末でしたか、GooglePlayで有料アプリを売ってるアカウントの住所表示が義務付けられました。 企業にとっては全く問題ないでしょうけど、個人にとっては、自宅住所を躊躇無く全世界に公開したい人はいないでしょうから、有料アプリを売るのをあきらめるか、私書箱やレンタルオフィス的なものを借りるしかなくなったわけです。 郵便局のやってる私書箱は無料ですが、大量の郵便物が来ることが前提となっていて審査が厳しく、弱小個人開発者が借りられるものではありません。 有料のサービスを利用するしかないです。 そのサービス代よりアプリからの収入が少ない場合赤字なので、当然やめるしか選択肢がありません。 私も1本有料アプリがあって、よくある、無料版は広告表示有り、有料版は広告表示無しってやつですが、売り上げは微々たるもんで、とてもじゃないけどサービス利用できる額ではないので、やめることにしました。 そこでDeveloperConsoleから有料アプリの公開を停止しようとしたんですが、それすら住所の入力が必須になっていてできませんでした。 そのうちGoogleが勝手に凍結するんでしょうけど、なんだかな。 無料版も含めて、Androidアプリ開発のモチベーションを保てなくなってしまいました。

2014年8月13日水曜日

[Windows] GlobalNames の罠

WINS の代替機能として紹介される Windows の DNS の GlobalNames ゾーンについて。

設定方法はググればいくらでも出てきます。その通りやれば設定できるのでここでは特に書くことはありません。

問題なのは、そもそも GlobalNames ゾーンって、どういう場合に有効(有意義)で、どういう場合には意味がないかという点です。
Microsoft のサイトの説明を読むと、これを使えば単一ラベルの名前解決ができる、というように読み取れますが、厳密にはそうではありません。例えば、以下のようなシナリオを考えます。

ドメインに参加していないクライアントPCがあるとします。普通にプリインストールされているOEM版Windowsで特殊な設定はしていません。 IP、DNSサーバ、WINSサーバの設定がDHCPで配布されています。 参照先DNSサーバは、GlobalNames ゾーンを持っているADです。WINSサーバも同じADです。 このクライアントから、WINSサーバの機能が動作していたときには、別セグメントのファイルサーバ filesvr1 に単一ラベルでのアクセスができていました(\\filesvr1)。 WINS サーバの機能を廃止するにあたって、GlobalNames ゾーンに filesvr1 のAレコードを登録しました。 この状態でWINSサーバを止めた場合、クライアントPCはこれまで通り \\filesvr1 でファイルサーバにアクセスできると思いますか?

答えは NO です。GlobalNames ゾーンに filesvr1 のレコードがあっても、クライアントPCで filesvr1 の単一ラベル名での名前解決はできません。 これが、冒頭で GlobalNames ゾーンでは単一ラベルでの名前解決ができるとは厳密には言えないと書いた理由です。 これができるようにするためには、クライアントが名前解決する際に使用するサフィックスを設定してやる必要があります。 具体的には、ホスト名を変更する画面の[詳細]ボタンを押すと表示される[このコンピューターのプライマリDNSサフィックス]か、ネットワークアダプタのTCP/IPのプロパティの[詳細設定]の[DNS]タブでサフィックスを設定します。 前者の場合はPCのリブートが必要になります。ここで設定するサフィックスは、filesvr1 が実際に所属しているドメインか、DNSサーバがゾーンを持っているドメインである必要があります。 ここでそもそもサフィックスに filesvr1 のドメイン名を設定できるのであれば(サフィックスは複数設定できます)、GlobalNames ゾーンが無くても単一ラベルでの名前解決はできます。 つまり、このようなケースでは GlobalNames ゾーンを使う意味はほとんど無いです。

ではどのような場合に有効(有意義)かというと、以下のようなシナリオが考えられます。

DNSサーバは foo.bar ゾーンと GlobalNames ゾーンを持っている。 GlobalNames ゾーンには、foo.bar ゾーンにはない filesvr1 のAレコードまたはCNAMEレコードが登録されている。 クライアントPCのDNSサフィックスには foo.bar が予め設定されている。 この状態であれば、GlobalNames ゾーンのおかげで、クライアントは何も設定変更をせずに filesvr1 という単一ラベルでファイルサーバにアクセス可能です。 GlobalNames ゾーンが無かった場合、まずは filesvr1.foo.bar という名前でクエリが行われ、foo.bar ゾーンには filesvr1 は無いので失敗し、次に(デフォルトでは) filesvr1.bar のクエリが行われて失敗し、次に filesvr1 が NetBIOS で検索されるもWINSサーバが無く同セグメントで無ければ見つからないので失敗してアクセスできません。 GlobalNames ゾーンにあれば解決可能です。

2014年7月26日土曜日

[VBS] コマンドジェネレーター

同じコマンドを、パラメータを変えながら大量に打つ必要がある場合。
単純なものならテキストエディタでちょいちょいするだけで事足りるんですが複雑になるととたんに面倒になるのでコマンドジェネレーター作りました。vbsです。

'command generator

Option Explicit

Dim commandStrings
Dim inputCsv
Dim outputFile

'生成するコマンドのフォーマット。$$数値$$が置換対象になります。0スタート
commandStrings = "echo -hoge $$0$$ -foo $$1$$ -bar $$0$$.txt"

'入力値になるタブ区切りのテキストファイル
inputCsv = "c:\users\hoge\desktop\bat\input.csv"

'コマンドが出力されるファイル
outputFile = "c:\users\hoge\desktop\bat\output.txt"

'====================================================================

Dim objRegex
Set objRegex = CreateObject("VBScript.RegExp")
objRegex.Pattern = "^\s*$"

Dim objFileSys
Set objFileSys = CreateObject("Scripting.FileSystemObject")

Dim objReadStream
Dim objWriteStream
Set objReadStream = objFileSys.OpenTextFile(inputCsv, 1)
Set objWriteStream = objFileSys.OpenTextFile(outputFile, 2, True)

Dim strLine
Dim i
Dim aryItems
Dim replacedStr
Do Until objReadStream.AtEndOfStream = True
    strLine = objReadStream.ReadLine
    If objRegex.Test(strLine) = False Then
        replacedStr = commandStrings
        aryItems = Split(strLine, " ")
        For i = 0 to UBound(aryItems)
            replacedStr = Replace(replacedStr, "$$" & i & "$$", aryItems(i))
        Next
        objWriteStream.WriteLine replacedStr
    End If
Loop

objReadStream.Close
objWriteStream.Close

40行目のダブルクォーテーションの中はスペースではなくタブです。 コピペで上手くいかない場合はタブを手打ちしてください。 もしくは、そこが区切り文字を意味している部分なので、パラメータ値に含まれさえしなければ任意の文字に変えて大丈夫です。 (当然入力ファイルの区切りもそれにあわせてください)
適当な名前で拡張子.vbsで保存してダブルクリックすればOKです。
例えば上記の例のまま実行すると、入力値のファイルの中身が
aaa[タブ]bbb
ccc[タブ]ddd
だった場合、出力ファイルには
echo -hoge aaa -foo bbb -bar aaa.txt
echo -hoge ccc -foo ddd -bar ccc.txt
と出力されるわけです。
あとはこれをコピってコンソールに貼り付けるなりバッチにするなりで実行するわけですね。

2014年7月7日月曜日

みおふぉん使用感

みおふぉんにして2ヶ月たちましたが、全く問題ないです。
クーポンも常時onですが余りまくって繰り越しされ、今月は上限2GBスタート。(普通1GB)
ただし、私が使ってる端末はLTE未対応なので3Gでしか使ってませんし、動画はたまに見ますがゲームはしません。 かつ家では無線LAN使ってます。
通話はG-Callを自作アプリでフックして使ってます。こちらも今のところ全く問題なし。
結果、docomoだったときと体感的には全く変わらない品質で使えてます。文句無いです。

2014年6月22日日曜日

[Android] ChromeView

私のように時間を無駄にしてしまう人が少しでも減るといいなと思って書き残しておきます。

ChromeView は Android 4.0.X 以上 4.4 未満でしか使えません!!!
※少なくとも普通にインポートしてライブラリとして参照するだけでは。

以上

2014年6月21日土曜日

[Android] エミュレータがロゴで止まって起動しない場合

OSはWindows7です。
エミュレータが起動しない、というか、ロゴが表示されるところまでは進みますがそれ以上進まなくなりました。いつのまにそうなったのか不明です。
対処法としてこれであっているのか不明ですがとりあえず進むようになるまでやったことをメモ。
Eclipse.exeとAVD Manager.exeとemulator.exe(emulator-??.exe全部)のプロパティを開いて「管理者として実行」にチェックを入れました。

2014年5月20日火曜日

[Android] 無料版と有料版のソースを統一

長らく、同じアプリの無料版と有料版を別々のプロジェクトとして管理し続けていて、無料版で更新した内容を有料版に反映したつもりがもれていたりして、大変だったんです。 で、http://d.hatena.ne.jp/tomorrowkey/20101020/1287584710 の記事を参考に1本化したんですけど、阿呆な私にはその道のりも大変険しく、はまりまくったのでメモを残しておきます。

  1. 無料版と有料版の2つのプロジェクトがある状態からのスタートだと、まずはどちらかをまるごとコピーして新しいプロジェクトを作り、そこで両方の機能を内包した1つのアプリにします。 パッケージ名は勿論無料版とも有料版とも違うものに変えてください。機能の違いは、上記URLに書いてある、パッケージ名で無料版か有料版かを判別するクラスを利用して if で分岐させます。 ソースもリソースもライブラリも、有料版にしか必要ないものも無料版にしか必要ないものも全て入れます。 必然的に差異が多ければ多いほど、パッケージのサイズが無駄に大きくなってしまいますが仕方ありません。 string.xml の app_name など、名前が同じで値が異なるものは、名前を分ける必要があります。 app_name_free と app_name_pro とかそんな感じで。 この共有プロジェクトの AndroidManifest.xml とかProGuardの設定ファイルとかは使わないのでマージするにあたって更新していく必要はありません。 放置でいいです。このプロジェクトのことは以下の説明ではCoreと呼びます。
  2. Coreプロジェクトを右クリックしてプロパティを開き、[Android]で下にスクロールして[Is library] にチェックを入れます。
  3. 既存の無料版と有料版のバックアップをとっておきます。SVN使ってるならコミットしてタグでも付けとけばいいでしょう。 使ってなければワークスペースの中のプロジェクトフォルダごとごっそりどこかにコピーしておけばいいかと。
  4. 無料版と有料版のプロジェクトから、ソースやライブラリやリソースを削除します。 このとき、src フォルダや res フォルダなどのプロジェクト直下にあるフォルダは残しておきます。 その下の階層(例えば values とか)はフォルダごと削除してしまってOKです。
  5. 無料版と有料版のプロジェクトを右クリックしてプロパティを開き、[Android]で下にスクロールして、[Add]ボタンでCoreプロジェクトを選択します。 Core以外のこれまで参照していたライブラリは外してしまっていいです。
  6. 無料版と有料版の AndroidManifest.xml を更新します。Activity 名の前に、Core のパッケージ名を付けます。 例えば今まで "MainActivity" だったものを、"com.example.hoge.core.MainActivity" にする感じ。 このとき、有料版でしか使わないアクティビティを無料版の AndroidManifest.xml に足したり、その逆をしたりする必要はありません。 使うアクティビティだけでいいです。パーミッションについてもそうです。 ソースが統一されたからといって、無料版でしか必要ないパーミッションを有料版につけたり、その逆をしたりする必要はありません。 また、アプリ名やランチャーアイコンをリソース参照すると思いますが、このとき、@packagename:string/app_name とか @packagename:drawable/ic_launcher としてはいけません。 別のパッケージにあることは気にせずにそのまんま @string/app_name と @drawable/ic_launcher でいいです。_free とかに名前変えた場合は当然 app_name_free にはしてくださいね。
  7. Eclipseのメニューの[Project]の[Build Automatically]はオフにしておき、ビルドの前にはCoreとビルドしようとしているほうのプロジェクトをメニューの[Project]の[Clean]してからビルドしましょう。 Cleanするときに、すぐにビルドする、みたいなオプションがありますがそれは外しておいてください。 この項目は、私の環境だとそうしないとエラーが出てしまうんですけど、皆がそうってわけでもないかもしれないのでCleanしなくても問題ないなら問題ないです。多分。

2014年5月15日木曜日

[Android] はまったことメモ

久々にはまったことメモ。

絶対に存在しているリソースが無いと言われる→refreshとかclean→それでもない→genの中のR.javaを捨てて、×だらけになるがそれでも無視してビルドしてみる

他のパッケージのdrawableやstringを参照するのに、@[packagename:]drawable/nameとするのは間違い。[packagename:]の部分は不要。

2014年5月6日火曜日

[Android] 自分的SVN管理方法

毎回忘れてて大変なことになるので、自分用のメモを兼ねて自宅のPC数台でのプロジェクト共有方法を書いておきます。完全に自己流です。

環境

  • TortoiseSVN 1.7.6
  • Eclipse 3.7.2

リポジトリサーバは DropBox のフォルダ直下に svn というフォルダを作ってそこを利用します。 フルパスは C:\Users\hoge\DropBox\svn と仮定して記載します。 パスは共有する各PCで異なっていても問題ありません。この svn フォルダはただのフォルダです。事前に作成しておいてください。 勿論 Dropbox じゃなくてNASとかサーバがあればそれでもいいです。

初回同期までの流れ

  • Eclipse で新規 Android プロジェクトを作る。共有したくなるまで適当に作ります。
  • エクスプローラで svn フォルダを開き、プロジェクト名で新規フォルダを作成する。ここでは仮に testproject という名前で作ったことにします。
  • 作成した testproject フォルダを右クリックして、[TortoiseSVN]→[Create repository here]をクリック。
    01_createrepo.png
  • default folder structure を作るかどうか聞いてくるので作る。
    02_createfolder.png
  • testproject フォルダを右クリックして、[TortoiseSVN]→[Repo-browser]をクリックし、中に[branches],[tags],[trunk]があることを確認したら[OK]を押して閉じる。
    03_repobrowser.png
  • Eclipse に戻って、プロジェクトを右クリックし、[Team]→[Share Project]をクリック。
  • [SVN]を選択して[Next]をクリック。
  • [新しいリポジトリー・ロケーションを作成]を選択して[Next]をクリック。
    04_newsvn.png
  • [Url]に[file:///C:/Users/hoge/DropBox/svn/testproject]と入力して[Next]をクリック。
    ※file: の後の / が3つなのは間違いではありません!3つ記載してください。
    ※パスの \ は / にして記載します。
    05_urlinput.png
  • [指定したフォルダ名を使用]にチェックを入れて、入力欄に[trunk]と入力して(※)[Next]をクリック。
    ※[URL]は[file:///C:/Users/hoge/DropBox/svn/testproject/trunk]になったはず。

    06_trunk.png
  • コメントはデフォのままでもいいし適当に編集してもいいです。[Finish]をクリック。
    ※TortoiseSVN でリポジトリを作成したときに default folder structure を作成していると、『フォルダ"{0}"はすでにリモートで存在します。既存のものと異なるフォルダ名を設定してください。』というメッセージが表示されますが、[Yes]を押せばそのまま成功します。
    07_warning.png
  • 自動的に同期画面になります。左上のペインでプロジェクトを展開してください。 [bin]フォルダを右クリックし、[svn:ignoreに追加]をクリック。開いたダイアログは中身は変更せずに[OK]をクリック。 同様に[gen]フォルダもsvn:ignoreに追加します。
    08_syncwindow.png 09_ignore.png
  • プロジェクトを右クリックして[コミット]をクリック。適当にコメントを入れて[OK]をクリック。

別PCからの初回利用の流れ

  • Eclipse で新規プロジェクト作成のウィザードを立ち上げ、[SVN]→[SVNからプロジェクトをチェックアウト]を選択して[Next]をクリック。
    10_newproj.png
  • [新規リポジトリー・ロケーションを生成]にチェックを入れて[Next]をクリック。
  • [Url]に Dropbox の svn\testproject フォルダまでのパスを入力して[Next]をクリック。1台目のPCとパスが違っても問題ありません。 例えば仮に Dropbox のフォルダが D:\Dropbox ならば [file:///D:/Dropbox/svn/testproject]と入力します。
    11_svnurl.png
  • [trunk]フォルダを選択して[Finish]をクリック。
    ※特定のタグやブランチから取り込みたければそれを選択してもOK。
    ※特定のリビジョンから取り出したかったり、ワークスペースの場所を標準から変えたければ[Finish]ではなくて[Next]で進めばそのへんを設定できます。
    12_export.png
  • リポジトリにない[bin]と[gen]フォルダは勝手に作られますが、フォルダに?マークが付いているはずです。
    13_question.png
    [bin]フォルダを右クリックし、[Team]→[svn:ignoreに追加]をクリック。開いたダイアログは中身は変更せずに[OK]をクリック。 同様に[gen]フォルダもsvn:ignoreに追加します。これで?マークが消えるはずです。

運用

  • こまめにコミットすること。コミットの方法はプロジェクトを右クリックして[Team]→[コミット]。
  • コミットの際には必ずコメントを詳細に入れること。
  • 作業PCを切り替えたときは必ず[Team]→[更新]してから編集すること。
  • リリース版にはタグを付ける。プロジェクトを右クリックして[Team]→[ブランチ/タグ]をクリック。 [コピー先のURL]に初めから入っているURLの末尾の[trunk]の部分を[tags/バージョン番号]に書き換えて[Next]をクリック。 14_tag.png [リポジトリーのHEADリビジョン]を選択(もし忘れてて後からタグ付けする場合はリリースしたときのリビジョンを選択)して[Next]をクリック。 コメントを入力して[Finish]をクリック。[作業コピーを新しいブランチ/タグに切り替える]にはチェックを入れないこと。 15_tagfinish.png
  • 本流を汚さずに実験的な機能を試したい場合はブランチを作る。 作り方はタグと同じだがコピー先URLの[tags/バージョン番号]を[branches/任意の名前]に変えることと、[作業コピーを新しいブランチ/タグに切り替える]にチェックを入れる。

覚書

  • trunk が本流。タグはリリース時点でのスナップショット。ブランチは支流。普通のソフトウェア開発とかで複数バージョンのメンテを続けなければならない場合はマイナーバージョンのブランチを作ってそのブランチでリビジョンをアップしていったりする。Android アプリは1アプリの公開バージョンは1つだけなので、1人で開発している限りブランチの必要性はあまりない。チーム開発している場合などはリリースに向けた安定化と時期バージョンの新機能追加が平行に走ったりするので必要になる。
  • 1つのリポジトリの中でプロジェクトごとにフォルダを作って管理することもできるが、リビジョン番号はリポジトリ全体での通し番号にされてしまうので、1プロジェクト単位でヒストリを見た場合にリビジョン番号が歯抜け状態になって気持ち悪い。のでプロジェクトごとにリポジトリを作っている。

2014年5月5日月曜日

android:hardwareAccelerated="true"

android:hardwareAccelerated="true" を設定すると逆に遅くなる場合もあるので注意!短めのスクロールビューで有効にしてちょっと早くなった気がする、と思っていたら、長いスクロールビューでのスクロールが使い物にならないレベルになってしまって速攻で元に戻しました。

2014年4月29日火曜日

WNDR4300

発端

携帯を IIJ にして、高速通信できるパケット量に制限ができたので、家庭内では Wi-Fi 活用しようと思ってたんですが、BUFFALO の WYR-G54 が1分ごとにぶちぶち切れて使い物になりません。電波干渉かと思って調べてみましたが、近隣の無線NWとは干渉していませんでした。ファームウェアを、同じハードウェアを使っている PLANEX のものに書き換えれば安定するという記述を価格.comの口コミで見つけたので、BLW-04GM のファーム落としてきて、ググって出てきたサイトを参考にバイナリエディタで書き換えて、WYR-G54 の管理画面からファームアップすると、確かに書き換わったんですが・・・やっぱりぶちぶち切れる。BLW-04GM のレビュー見てみたら、切れると書いてあるじゃないですか・・・。もう1つ、BLW-54PM という製品も同じハードウェアでファームウェアの互換性があるようなのですが、こちらの口コミ掲示板にも切れると書いてあったので、このハードウェアがクソってことなんだと思います。ちなみに、BLW-04GM から WYR-G54 への戻しは特にイメージファイルの中身はいじらずにファームアップで戻せます。

切れない無線ルーターを求めて

WYR-G54 もいったい何年前に買ったのか記憶が無いぐらい昔に買ったものですし、そろそろ買い換えてもバチはあたるまい、ということで、以下を条件に新無線ルーターを探しました。

  • 有線LANが4ポートあること(3Must, 4Better)
  • 有線LANは1Gbpsであること(Better)
  • 無線がぶちぶち切れないこと(Must)
  • 802.11aに対応していること(Better)
  • WEPに対応していること(Better)
  • 簡易NAS機能(Better)
  • 5000円以下(Better)

余分な有線1ポートとWEP対応は、会社支給の古いノートPCを繋ぐ可能性を鑑みて、です。無きゃ無いで全然かまわない。有線1GbpsはMustに近いBetter。1000円程度上がってG対応できるなら出します。無線がぶちぶち切れないこと、は、これが目的で買い換えるんだから絶対マストです。そして、うちのルーターはぶちぶち切れますよなんてスペックに書いてくれるメーカーは存在しないので、いちいち口コミを調べて回る必要がある・・・。

WNDR4300

で、見つけました!Better の条件まで1つ残らずばっちり全て満たすパーフェクトなやつ!NETGEAR の WNDR4300!NTT-X Store 楽天市場店で、税込み送料込みで 4,980円!ポチっとしたのが 4/26 で、GW だから遅くなるかなーと思いきや、本日 4/29 もう届きました。

1GのNIC付けてるPCでスピードテストしたところ下り300M、上り150Mでました。満足。無線も今のところ安定しています。簡易NAS機能は、USBメモリを昨日ぽちっとしたのですがまだ届いていないので、それが届き次第使ってみたいと思います。

2014年4月22日火曜日

IIJmio の SIM 届きました

ついに IIJmio の SIM が届きました。公式には申し込んでから届くまで、1週間~10日と記載されていますが、そんなにかからなかったです。一応メモ。
申し込み&本人確認データアップロード:2014/04/17(木) 夜
本人確認が終わったよ通知:2014/04/18(金)
今日中に使えなくなるよ通知:2014/04/21(月)
今日中に SIM 届けるよ通知:2014/04/22(火)
使えなかったのは丸1日だけです。

2014年4月19日土曜日

[Android] G-Call用アプリ作りました

ただいま docomo から IIJ へ MNP 手続き中です。
docomo のときは基本料金に千円分ぐらいの通話料が含まれていて、毎月その範囲内で収まっていたので電話代を気にしたことは無かったのですが、IIJ になると通話料は実際かけた分だけ発生するので、G-Call に申し込みました。

docomo, au, softbank での通話は通常、30秒20円(税別)ですが、G-Callでは30秒10円で利用できます。line, viber, skype などは利用者間での通話は無料でできますがIP電話なので品質が悪いですし、利用者以外への通話はできる場合でも有料オプションです。G-Call はIP電話ではなく通常の電話回線での電話になるので、品質はいい(はず)ですし、基本料はありません。使った分だけです。同様のサービスに楽天でんわもありますが、30秒10.5円とほんの少しだけ高いです。そのうち楽天ポイントが使えるようになるらしいし、利用者間での通話を無料にするという話もあるので、そうなったら楽天でんわがメインになるかもしれませんが、しばらくは G-Call でいこうと思います。
G-Call のサイトはこちら(別窓で開きます)。紹介者制度というのがあって、申し込み時に紹介者のIDを入力すると、紹介者と新規利用者のどちらにも250ポイント入ります。利用しようと思っていてまだ紹介者のアテが無ければ是非「1208001」をお願いします。申し込み画面の中の、「紹介者制度」の、「G-Call顧客番号」という欄に左記の数字を入力してください。紹介者の名前と電話番号は入力しなくても大丈夫です。

登録完了通知が来たら晴れて利用できるようになるわけですが、その利用方法とは、電話番号の前に 0063 を付けるだけです。が、手動で付けるのは勿論めんどくさいし、いちいち電話帳に登録していくのもめんどくさいので、電話の発信をフックしてG-Callでかけるか普通にかけるか選べるアプリを作りました。
https://play.google.com/store/apps/details?id=jp.gr.java_conf.akr.android.g_hook
公式アプリもあるんですが、正直言ってとても使いづらいので速攻アンインストールしてしまいました・・・。

ちなみに楽天でんわ版も作ってます。
https://play.google.com/store/apps/details?id=jp.gr.java_conf.akr.android.r_hook
私は自作のこれを使うつもりですが、楽天でんわのほうはレビュー見る限り公式アプリも多少は使えそうな感じっぽいです。

[Android] SVNメモ

Unable to open repository が出て最初のチェックアウトができない場合。

コマンドプロンプトで

svnadmin create パス

2014年4月6日日曜日

MVNOへ乗り換え計画

Docomoの2年契約が先月で終わりを迎えて、今月なら違約金も発生しないのでMVNOへ乗り換えようと思っています。

現状

端末は私も嫁さんも Xperia acro HD SO-03D を使ってます。LTE には対応していない端末です。今の月額料金は以下の通り。

タイプSSバリュー(ファミ割MAX50)934
パケ・ホーダイ フラット5,200
SPモード300
留守番電話300
ユニバーサルサービス料3
消費税(8%)539
合計7,276

通話料はSSバリューの無料通話分に収まっているので無しです。このように1ヶ月1台あたり約7,300円、2人で約14,600円かかっています。高い。高すぎる。

料金プランの改善検討

基本料金であるタイプSSバリューは2番目に安いプランです。最安のプランは800円(ファミ割MAX50適用後・税込)で、SSバリューは税込み1,006円なので206円ほど安くなりますが、無料通話がついていないので、毎月206円分以上の通話があるとそちらのほうが高くなってしまいます。過去数ヶ月の実績を見ると、だいたい100円程度でたまに500円とか使ってる感じ。なので長い目で見ればどっちでも同じぐらいになると思います。
パケットは私が100万パケット前後、嫁さんは300万~多いときは1,000万パケットつかっているので、パケホーダイフラット以外ありえません。

MVNO の検討

この4月から、各社値下げしたりサービス内容の向上をしたりしてすごい競争状態になっています。1000円未満のプランを対象にまとめサイトや比較サイトなどをめぐって検討した結果、IIJmio にする予定です。高速通信が1GB(Docomoのパケット換算だと約900万パケット)まで可能で、使い切っても200kbps。LTE対応端末ではないのでさほど高速通信のデータ量を重視しているわけではないですが、それでも3GのMAX速度を利用できるのとできないのとでは大違いなので、高速通信が利用できない500円前後のプランは除外です。1GBあればこれまでと同じ使い方なら常時高速通信はONの状態で利用できる見込みですが、アプリでON/OFFが簡単に切り替えられるというところもいいと思いました。また、あまったクーポンを翌月に持ち越しできるというところも◎。品質の評判も良いです。ビックカメラで買えばWi-Fiも無料で使えて最強だと思います。
IIJmioの音声通信機能がついたSIMはみおふぉんというらしいですが、そのみおふぉんは4月中旬にMNPに対応するらしいので、私の端末はMNPでみおふぉんに乗り換え決定です。月額料金は約2千円。docomoと比べて5千円ダウンです。
嫁さんはどうしても docomo.ne.jp のメールアドレスを利用し続けたい&留守電機能は必須(みおふぉんは留守電無し)と言うので、電話とメールはガラケーに残してパケ・ホーダイフラットは外し、スマホはIIJmioの一番安いデータ通信のみのプランで利用する2台持ちにすることにしました。残すdocomoのプランはこんな感じに変えます。

タイプシンプルバリュー(ひとりでも割50)743
パケ・ホーダイ シンプル0
iモード300
留守番電話300
ユニバーサルサービス料3
消費税(8%)108
合計1,454

タイプシンプルバリューとパケ・ホーダイシンプルとiモードの組み合わせで、「メール使いホーダイ」に自動的になります。なのでメールだけならパケット代はかからず、通話料だけが載ってくることになります。これにIIJmioの一番安い972円のプランでスマホデータ通信をするので、月額合計は2,500円~3,000円ってところです。4千円以上ダウンするので、2人合わせて月9千円ダウンは確実ですね。

ちなみに、MNPの特典を利用して最新機種をGET&月額利用料をタダ同然にする方法もありますが、Softbankは以前契約していてあまりの電波の悪さ、障害の多さにうんざりしていますし、auは端末がSIMロック解除しても使えないとかいう話があったりしてめんどくさいので無しです。携帯乞食はしたくないという変なプライドもあるし。そもそも嫁さんは docomo のメアドを維持したいという強い希望がある時点で MNP できないし・・・。

スマホ・ガラケー2台持ちのためのテスト

今のスマホにする前はSoftbankのガラケーだったので、友人から使っていないdocomoのガラケーを譲ってもらいました。N-03A です。SO-03D も N-03A もSIMは標準サイズなのでそのまま使えます。SIMのサイズが違ったらショップで機種変更してもらうしかないと思います。(移行元のほうが小さくて移行先のほうが大きいならAmazonで100円ぐらいで売ってるアダプタでなんとかなる可能性もあるかも)
SO-03D からSIMを引っこ抜いて、N-03A に挿せば、それだけで電話は使用可能になりました。メールアドレスは少しめんどくさいですが以下の手順で使えるようになります。

  1. My docomo の「ご契約内容確認・変更」で「SPモード(iモード契約可)」を申し込む。
    何もついていない「SPモード」のほうは自動的に解約になります。値段はどちらも同じで、これに変えたからといって特に何も起きませんでした。メールアドレスも勿論引き続き同じものが使えます。
  2. 引き続き「ご契約内容確認・変更」で「iモード」を申し込む。
    このとき、1をやっていないとSPモードを解約させられるので注意。iモードの料金は月額300円ですが、SPモードとiモードの両方を契約していると、2つで300円に勝手に割引されますのでご安心を。
  3. My docomo の「spモードの設定・確認」の「各種設定・確認」で「メールアドレス入替え」を実行。

これでガラケーで以前と同じメールアドレスでメール送受信ができるようになります。またスマホに戻したいときは「メールアドレス入替え」を再度実行すればOKです。

無事ガラケーで電話・メールがそのまま使えることが確認できたので、後はIIJmioのSIM買って手続きすればいつでも切り替えられますね。みおふぉんのMNP対応が完了したら2つ一緒に購入しようと思ってます。

2014年4月4日金曜日

アナと雪の女王(吹き替え版)

吹き替え版を見ました。
素晴らしかったです。傑作です。
95点。
5点分のマイナスは、後半にほとんど歌が無かったのが残念ってとこです。前半は正統派ミュージカルな感じですが後半はめっきり歌わなくなってしまいます。せめて最後は歌で締めて欲しかった!
ストーリーは100点。
ヒロインを救うのは「真実の愛」、ここまでは王道な話です。「真実の愛」=「王子様のキス」と作中のキャラクターも(ヒロイン自身さえも)信じてエンディングに向けて走っていくわけですが、「真実の愛」はそんなものじゃなかったんです。男と女が結ばれてそれでハッピーエンドっていう「型」をやぶってくれた。しかもディズニーが、っていうところも重要な意味を持つと思います。
キャラクターも皆いい。
歌も100点。
曲も歌詞も歌手も100点です。英語版もyoutubeで見ましたが、どちらもいいです。日本語訳は直訳ではなくて少しイメージが明るい方向に変わっていますが、いい訳だと思います(LetItGo)。松さんの透明感のある歌声もぴったりで、声だけ聞くと、オリジナルは正直おばさんっぽさがあって、松さんのほうがエルサの年齢的には合っていると思います。
アナ役の神田さんもすごく良かった。こちらもオリジナルよりぴったり来てるんじゃないかと思うほどです。歌も上手い!一部、歌声がお母さんそっくりすぎでびびりました。
オラフ役のピエールさんも◎。総じて、吹き替え版がオリジナルに劣ると思うような点は無いと言っていいと思います。
ひさびさの大当たりです。おすすめ。