docomoの違約金が発生しない解約は契約満了月+1月

MVNO(IIJ/DMM)に乗り換えようとして、docomoの違約金が発生する条件を知らなかったのでメモしておきます。151のオペレータさんに確認しました。

端的にいうと、契約満了月(2年)+1月が違約金が発生しない月です。具体的には、2014年06月14日が課金開始日の場合、違約金の発生しない期間は2015年07月01日〜07月31日となります。今解約したとして違約金が発生するかどうかは、docomoのオンライン手続きで解約手続きを途中まで進めれば確認できます。(結果確認画面まで進めるだけなので何の弊害もありません。)

下記は「じゃあ契約満了月って何時だったっけ?」という人のための記事です。dメニューのdocomoお客様サポート(ウェブ)から確認できます。

dメニュー

dメニュー

購入時はデスクトップにデフォルトで配置されています。

お客様サポート

お客様サポート

契約内容の確認

契約内容の確認

2ページ目

2ページ目

foobar2000のColumnsUIで再生中/再生順を1列で表示する

foobar2000のカスタマイズに凝っていた時に作った、ColumnsUIのPlaylistViewで再生中/再生順を1列で表示する簡易なスクリプトのメモです。

こんな感じで表示できます。

再生中と再生順を表示してみた画面

再生中と再生順を表示してみた画面

こんな感じで実現できます。

$if(%isplaying%, ♪, [%queue_indexes%])
スクリプト

スクリプト

ちなみに蛇足ですが、私は再生キューに出し入れする機能をキーボードに割り当ててます。便利です。

キーボードショートカット設定例

キーボードショートカット設定例

nexus9で艦これをプレイする

nexus9(Android5.0.2)で艦これがプレイ出来たのでメモしておきます。なお、公式サポートはWindowsのみのため、決して運営チームに問い合わせてはなりません。

また、本記事はnexus9で閲覧していただいた方が話が早いです。

  1. Androidの設定で「提供元不明のアプリ」のインストールを許可する。
  2. DolphinBrowserをインストールする。
  3. DolphinBrowser用のFlashPlayerプラグインをインストールする。
  4. DolphinBrowserの設定で「Dolphin Jetpack」を「有効」にする。
  5. DolphinBrowserの設定で「Flashプレイヤー」を「常にON」にする。(既になっているかも。)
  6. DolphinBrowserの設定で「ユーザエージェント」を「デスクトップ」にする。
  7. DolphinBrowserのコントロールパネルから「デスクトップ」を選択する。
  8. 艦これができる!

スクリーンショット

提供元が不明のアプリ

提供元が不明のアプリ

Dolphin Jetpack/FlashPlayer

Dolphin Jetpack/FlashPlayer

ユーザエージェント

ユーザエージェント

デスクトップ

デスクトップ

foobar2000でインターネットから取得した歌詞を表示する

foobar2000でインターネットから取得した歌詞を表示してみたのでメモしておきます。

全体像

スマートに実現する方法はありません。下記のように様々なcomponents及び、外部プログラムを協調させます。また、全自動ではできませんでした。

foobar2000で歌詞を表示するための設定全体像

foobar2000で歌詞を表示するための設定全体像

処理の流れ

理解する必要はありませんが、おさえておいたほうが良いでしょう。

  1. RunServicesが再生中の曲名+歌手を引数にLyricMasterを呼出します。
  2. LyricsMasterが曲名+歌手をキーに複数の歌詞掲載サイトを検索して、HTMLをパース、歌詞を抽出、候補リストを出力します。
  3. 人間が候補リストから最も正しい歌詞を選択すると、LyricsMasterが歌詞を曲名+歌手をファイル名に設定してファイル出力します。
  4. LyricsPanel(要:ColumnsUI)が再生中の曲名+歌手を元に歌詞ファイルを特定して画面表示します。

必要資材

下記に必要な資材をまとめましたので適宜取得してください。

資材名 取得先
RunServices http://www.foobar2000.org/components/view/foo_run
CulumnsUI http://yuo.be/columns.php
LyricsPanel http://foo2k.chottu.net/
LyricsMaster http://www.kenichimaehashi.com/lyricsmaster/

手順

手順自体はfoobar + Lyrics Master – 別称 うしぶの通りやれば出来ました。

トラブルシューティング

詰まった箇所をメモしておきます。

  • LyricsPanelの上で右クリック→Reload Lyrics File
  • foobar2000上の曲名+歌手と、歌詞ファイル名と一致させる。(例えば、(カバー)(CV.〜)が付いているだけでもダメ。姓名の間に空白があってもダメ。)
  • 初期設定では文字化けするので、LyricsPanelの設定をUTF-8にする。
  • おまけ:AMIPで同じことをやろうとしましたが、iTunesでエンコードしたMP3に付属するID3タグはUnicodeになっていて、かつ、AMIPはUnicode非対応らしいので必ず文字化けを起こしてしまい諦めました。(参考:Winampやfoobar2000とLyrics Masterを連携させる方法

UQ-WiMAXの「データ量制限なし」に潜む罠

「データ量制限なし」に潜む罠に引っかかったので記しておきます。

前提知識

先日の「最新WiMAXルータへの無料乗り換え」キャンペーンの付録である「ツープラスサービス」により、下記3方式から選択できるようになりました。具体的には、WiMAXルータの設定変更をすることで切り替えられます。

方式 WiMAX WiMAX2+ LTE 備考
ノーリミットモード 原則速度制限なし
ハイスピードモード 契約後2年間は速度制限なし
※ただしハイスピードプラスエリアモードで制限を食らった場合は共倒れ
ハイスピードプラス
エリアモード
7GB/月の制限あり
要オプション料金

私の場合は……

付録として付いてきた「LTEオプション料が2015年5月末まで無料」を、せっかくだから使ってみようと思いたったのが運の尽きでした。

前述したキャンペーンで、「Speed Wi-Fi NEXT W01」に機種変更していました。実はこの機種、ノーリミットモードに対応していません。というか、WiMAX方式に対応していません。

そのため、ハイスピードプラスエリアモードで7GB制限を突破して、ノーリミットモードにも戻せない、次の月初まで地獄の日々が始まりました。仕方なく、docomoのテザリングでこの記事を投稿しました。128kbpsの世界は耐えられませんでした。

VPCZ1で故障したSSDを切り離してRAIDを構成する

VPCZ12AGJ(SONY VAIO typeZ)の故障した4台目のSSDのみ切り離ししてRAIDを構成、リカバリ処理してみましたのでメモを残しておきます。

必要なもの

RAIDを再構成するため内部ストレージのリカバリ領域が消去されてしまいます。そのため、事前にリカバリディスクを作成しておく必要があります。

手順

SSDが故障している場合は、電源投入時に下記のようなエラー画面が表示されます。ここで、4台目(Serial:S0F3NE5Z605713)でエラー発生(Error Occure)していることを確認できます。つまり、4台目を除いてRAID0を再構成します。まずは、「2.Delete RAID Volume」を選択して現在のVolume0を削除します。

SSDエラー表示画面

SSDエラー表示画面

実際に削除を試みた画面を下記に示します。当然、すべてのデータが消去されます。Volume0を削除した後、「1.Create RAID Volume」から障害が発生していたSSD以外の3台で178.9GB(59.6GB*3台)のRAID0を再構成します。

RAID削除画面

RAID削除画面

実際に再構成してみた画面を下記に示します。その後、リカバリディスクをセットしてから「5.Exit」を選択します。再起動しますので、VAIOの起動画面から「F11」を連打することで「Windowsブートマネージャ」を立ち上げます。その後、「VAIO Careレスキュー」からリカバリ画面に進みます。

RAID再構成後の状態

RAID再構成後の状態

実際にリカバリ画面まで進んでみた画像を下記に示します。

リカバリ時の画面

リカバリ時の画面

その後は、通常通りリカバリを進めていくだけです。インテルラピッド・ストレージ・テクノロジー画面を見ると、問題なく3台のSSDでRAIDが構成できていると確認できます。

RAID構成確認

RAID構成確認

WindowDefenderのCustomScanはフルパスでファイルを渡す

Windows8のWindowsDefenderは、Windows7以前のWindowsDefenderとMicrosoftSecurityEssentialsが統合されたもので、シンプルなアンチウイルスソフトとしてプリインストールされています。今回、いろいろと実験してみたので結果を書き記しておきます。

ファイルを指定してスキャンする

MSEでは出来ていた「特定ファイルを指定してスキャン」の機能が、WindowsDefenderではGUIから呼び出せなくなっています。ただし、実体の実行ファイル(”C:\Program Files\Windows Defender\MpCmdRun.exe”)にオプションを与えてやることで実現可能です。

"C:\Program Files\Windows Defender\MpCmdRun.exe" -Scan -ScanType 3 -File "C:\Users\Username\Desktop\a.txt"

実行結果は下記のとおりです。

Scan starting...
Scan finished.
Scanning C:\Users\Username\Desktop\a.txt found no threats.

ここでの注意は、「Program Files」というイケていない空白入りのフォルダ名が原因で実行ファイルすらダブルクォーテーションで囲む必要がある点と、スキャン対象をフルパスで渡す必要がある点です。フルパスで渡さなかった場合は下記のようなエラーが発生します。

CmdTool: Failed with hr = 0x80070002.
Check C:\Users\Username\AppData\Local\Temp\MpCmdRun.log for more information

「詳しくはログを見ろ」としか言ってくれないのでログを見てみると、下記のようなログが出力されています。……よくわからないですね。私はここで躓きました。ググっても英語ばかりで要領を得ません。

MpCmdRun: Command Line: "C:\Program Files\Windows Defender\MpCmdRun.exe"  -Scan -ScanType 3 -File "a.txt"
 Start Time: ‎木 ‎12 ‎25 ‎2014 01:09:44

Starting RunCommandScan.
INFO: ScheduleJob is not set. Skipping signature update.
Invalid path to scan: a.txt. hr = 80070002
MpCmdRun: End Time: ‎木 ‎12 ‎25 ‎2014 01:09:44

ちなみに、引数等は-hオプションで確認できます。実行結果を載せておきます。※ただし英語

Microsoft Antimalware Service Command Line Utility (c) 2006-2014 Microsoft Corp
Use this tool to automate and troubleshoot Microsoft Antimalware Service

Usage:
MpCmdRun.exe [command] [-options]

Command Description
   -? / -h                                    Displays all available options
                                              for this tool
   -Scan [-ScanType #] [-File <path> [-DisableRemediation] [-BootSectorScan]]
         [-Timeout <days>]
                                              Scans for malicious software
   -Trace [-Grouping #] [-Level #]            Starts diagnostic tracing
   -GetFiles                                  Collects support information
   -RemoveDefinitions [-All]                  Restores the installed
                                              signature definitions
                                              to a previous backup copy or to
                                              the original default set of
                                              signatures
                      [-DynamicSignatures]    Removes only the dynamically
                                              downloaded signatures
   -SignatureUpdate [-UNC | -MMPC]            Checks for new definition updates
   -Restore  [-ListAll | [-Name <name>] [-All] [-Path <path>]]  Restore or list
                                                               quarantined item(s)
   -AddDynamicSignature [-Path]               Loads a dynamic signature
   -ListAllDynamicSignatures                  List the loaded dynamic signatures
   -RemoveDynamicSignature [-SignatureSetID]  Removes a dynamic signature
   -EnableIntegrityServices                   Enables integrity services
   -SubmitSamples                             Submit all sample requests

Additional Information:

Support information will be in the following directory:
C:\ProgramData\Microsoft\Windows Defender\Support

   -Scan [-ScanType value]
        0  Default, according to your configuration
        1  Quick scan
        2  Full system scan
        3  File and directory custom scan

           [-File <path>]
                Indicates the file or directory  to be scanned, only valid for custom scan.

           [-DisableRemediation]
                This option is valid only for custom scan.
                When specified:
                  - File exclusions are ignored.
                  - Archive files are scanned.
                  - Actions are not applied after detection.
                  - Event log entries are not written after detection.
                  - Detections from the custom scan are not displayed in the user interface.

           [-BootSectorScan]
                Enables boot sector scanning; only valid for custom scan.

           [-Timeout <days>]
                Timeout in days; maximum value is 30.
                If this parameter is not specified, default value is 7 days for full scan and 1 day for all other scans.

      Return code is
      0    if no malware is found or malware is successfully remediated and no additional user action is required
      2    if malware is found and not remediated or additional user action is required to complete remediation or there is error in scanning.  Please
 check History for more information.

   -Trace [-Grouping value] [-Level value]
        Begins tracing Microsoft Antimalware Service's actions.
        You can specify the components for which tracing is enabled and
        how much information is recorded.
        If no component is specified, all the components will be logged.
        If no level is specified, the Error, Warning and Informational levels
        will be logged. The data will be stored in the support directory
        as a file having the current timestamp in its name and bearing
        the extension BIN.

        [-Grouping]
        0x1    Service
        0x2    Malware Protection Engine
        0x4    User Interface
        0x8    Real-Time Protection
        0x10   Scheduled actions
        0x20   NIS/GAPA

        [-Level]
        0x1    Errors
        0x2    Warnings
        0x4    Informational messages
        0x8    Function calls
        0x10   Verbose
        0x20   Performance

   -GetFiles [-Scan]
        Gathers the following log files and packages them together in a
        compressed file in the support directory

        - Any trace files from Microsoft Antimalware Service
        - The Windows Update history log
        - All Microsoft Antimalware Service events from the System event log
        - All relevant Microsoft Antimalware Service registry locations
        - The log file of this tool
        - The log file of the signature update helper tool

        [-Scan]
        Scans for unusual files.  The files and results of the scan
        will be packaged in the compressed file.

   -RemoveDefinitions
        Restores the last set of signature definitions

        [-All]
        Removes any installed signature and engine files. Use this
        option if you have difficulties trying to update signatures.

        [-DynamicSignatures]
        Removes all Dynamic Signatures.

   -SignatureUpdate
        Checks for new definition updates

        [-UNC [-Path <path>]]
        Performs update directly from UNC file share specified in <path>
        If -Path is not specified, update will be performed directly from the
             preconfigured UNC location

        [-MMPC]
        Performs update directly from Microsoft Malware Protection Center

   -Restore
        [-ListAll]
        List all items that were quarantined

        [-Name <name>]
        Restores the most recently quarantined item based on threat name
        One Threat can map to more than one file

        [-All]
        Restores all the quarantined items based on name

        [-Path]
        Specify the path where the quarantined items will be restored.
        If not specified, the item will be restored to the original path.
   -AddDynamicSignature -Path <path>
        Adds a Dynamic Signature specified by <path>

   -ListAllDynamicSignatures
        Lists SignatureSet ID's of all Dynamic Signatures added to the client
        via MAPS and MPCMDRUN -AddDynamicSignature

   -RemoveDynamicSignature -SignatureSetID <SignatureSetID>
        Removes a Dynamic Signature specified by <SignatureSetID>

右クリックメニューに「WindowsDefenderでスキャン」を追加

さすがに毎回コマンドプロンプトから実行するのは面倒なので、右クリックメニューに追加(シェル拡張)してしまいます。レジストリを弄る必要がありますが、regファイルを用意したのでお使いください。(WordPressのポリシーでregファイルをアップロードできないので、拡張子を.regに変更してからご使用ください。)

WindowsDefender_AddRightClickMenu.reg

中身を見ていただくと分かる通り、難しいことはしていません。ただし、自己責任でお願いします。

[HKEY_CLASSES_ROOT\*\shell\WindowsDefender]
"MUIVerb"="Windows Defenderでスキャン"

[HKEY_CLASSES_ROOT\*\shell\WindowsDefender\Command]
@="\"C:\\Program Files\\Windows Defender\\MpCmdRun.exe\" -Scan -ScanType 3 -File %1"

ちなみに、右クリックから起動してから先ほどのログを見てみると、正常にスキャン完了していることを確認できます。

MpCmdRun: Command Line: "C:\Program Files\Windows Defender\MpCmdRun.exe" -Scan -ScanType 3 -File C:\Users\Username\Desktop\a.txt
 Start Time: ‎木 ‎12 ‎25 ‎2014 01:30:53

Starting RunCommandScan.
INFO: ScheduleJob is not set. Skipping signature update.
Scanning path as file: C:\Users\Username\Desktop\a.txt.
Start: MpScan(MP_FEATURE_SUPPORTED, dwOptions=16385, path C:\Users\Username\Desktop\a.txt, DisableRemediation = 0, BootSectorScan = 0, Timeout in days = 1)
MpScan() started
MpScan() was completed
Finish: MpScanStart(MP_FEATURE_SUPPORTED, dwOptions=16385)
Finish: MpScan(MP_FEATURE_SUPPORTED, dwOptions=16385, path C:\Users\Username\Desktop\a.txt, DisableRemediation = 0, BootSectorScan = 0, Timeout in days = 1)
Scanning C:\Users\Username\Desktop\a.txt found no threats.
MpScan() has detected 0 threats.
MpCmdRun: End Time: ‎木 ‎12 ‎25 ‎2014 01:30:53

参考資料

CentOSでTortoiseSVNを動作させる

VMWareのCentOS(ゲストOS)にWINEをインストールして、TortoiseSVNを動作させてみました。完全に誰得情報です。

環境情報

見ての通り64bitです。

cat /etc/redhat-release 
CentOS release 6.6 (Final)
uname -a
Linux localhost.localdomain 2.6.32-504.3.3.el6.x86_64 #1 SMP Wed Dec 17 01:55:02 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

WINEのインストール

WINEは標準リポジトリに存在しないので、epelリポジトリを追加する必要があります。ちなみに、WindowsのVMWare環境でネットワーク設定を「NAT」にしている場合はゲストOSのインターネット側との通信が異常に遅くなる事象が発生するので、今回だけは「ブリッジ」にすることをおすすめします。

su -
rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum repolist

http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/repoview/epel-release.html

後はyumにおまかせです。

yum install wine

WINEの初期設定をします。ひたすらYESを押せばインストール完了します。この時点から既にWindowsっぽいウィンドウが出てきます。

winecfg
Screenshot-Wine configuration

Screenshot-Wine configuration

TortoiseSVNのインストール

Windowsと同じようにmsiファイルを取得して、msiexecオプションを付けたwineから呼び出します。日本語パックもついでにインストールしときます。

wget http://downloads.sourceforge.net/project/tortoisesvn/1.8.10/Application/TortoiseSVN-1.8.10.26129-x64-svn-1.8.11.msi
wget http://downloads.sourceforge.net/project/tortoisesvn/1.8.10/Language%20Packs/LanguagePack_1.8.10.26129-x64-ja.msi
wine msiexec /i TortoiseSVN-1.8.10.26129-x64-svn-1.8.11.msi
wine msiexec /i LanguagePack_1.8.10.26129-x64-ja.msi

成功すると、こんな妙なところにインストールされています。

/home/username/.wine/drive_c/Program Files (x86)/TortoiseSVN/bin

ちなみに、CentOSのメニューからは起動できません。(配置されているのは.lnkファイルだからうまく実行できないみたいです。)

tortoisesvn起動

tortoisesvn起動

TortoiseSVNを使ってみる

fixme等の怪しいメッセージがたくさん出ますが問題なく起動できます。TortoiseSVNはTortoiseProc.exeにコマンドを与える形で各種機能を呼び出すデザインになっているようです。そのため、インストールで.lnkファイルが作成されたんだと思います。詳細なオプションは本家マニュアルが詳しいです。

めんどうですが、binフォルダに移動して、wineから呼び出します。

cd "/home/username/.wine/drive_c/Program Files (x86)/TortoiseSVN/bin"
wine TortoiseProc.exe /command:about
wine TortoiseProc.exe /command:settings

mfc110u.dllが見つからない的なエラーが出た時は、ホストOSのWindowsの「C:\Windows\System32」から当該ファイルをコピーして、ゲストOSのCentOSの「/home/username/.wine/drive_c/windows/system32」にペーストしてください。

全機能を動かしてはいませんが、とりあえず動いてるように見えました。WINEすごいですね。

参考にさせてもらった資料

秘密鍵/公開鍵を使ってパスワード無しのssh接続をする(cygwin@Windows→xrea)

公開鍵/秘密鍵を使ったパスワード無しのssh接続を、Windowsのcygwinからxreaサーバに実施する際のメモです。

まずは公開鍵/秘密鍵を作成する。cygwinはデフォルトで~/.sshフォルダが存在するため作成不要。ssh-keygenはオプションなしだとrsaを使用する。

$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/User/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/User/.ssh/id_rsa.
Your public key has been saved in /home/User/.ssh/id_rsa.pub.
The key fingerprint is:

$ cd .ssh/

$ ls -la
合計 13
drwxrwx---+ 1 User なし    0 11月 29 15:10 .
drwxrwxr-x+ 1 User なし    0 9月  29 23:51 ..
-rw-rw----  1 User なし 1679 11月 29 15:10 id_rsa
-rw-rw-r--  1 User なし  394 11月 29 15:10 id_rsa.pub
-rw-rw-r--  1 User なし  745 11月 29 14:03 known_hosts

xreaに公開鍵をscpでファイル転送する。

$ scp ./id_rsa.pub jikkenjo@s353.xrea.com:.

xrea側でauthorized_keysに追加する。xreaにssh接続するためには、Webのコントロールパネルから「ホスト情報登録」をしておく必要があります。

$ ssh -l jikkenjo s353.xrea.com

> mkdir .ssh
> chmod 700 .ssh
> mv id_rsa.pub ./.ssh/.
> cd .ssh/
> cat ./id_rsa.pub >> authorized_keys
> chmod 600 authorized_keys
> logout

早速、sshで接続してみる。が、「秘密鍵のパーミッションが緩すぎる」と怒られてエラーとなる。

$ ssh -l jikkenjo s353.xrea.com
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for '/home/User/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /home/User/.ssh/id_rsa
jikkenjo@s353.xrea.com's password:

そもそも、id_rsaに所有グループが設定されていなかったので設定して、グループからのアクセスを拒否するパーミッションに設定する。(念のため、ユーザの所属するグループを確認して設定。)

$ groups
なし Users HomeUsers

$ chgrp Users ./id_rsa
$ chmod 400 ./id_rsa

これにて一件落着。

$ ssh -l jikkenjo s353.xrea.com
> 

ファイル名の先頭が半角空白のファイルをFTPサーバにアップロードすると詰む

先頭に半角空白があるファイルをFTPサーバにアップロードすると、各種クライアント(FFFTPで検証)が対応していないのか、ダウンロードは元より、削除や移動もできなくなり詰みます。

ちなみに、Explorerのアドレスバーにftp://〜と入力することで簡易なFTPクライアントとしても使えますが、そちらでもエラーが発生します。

エラーメッセージ例

550 The system cannot find the file specified.

FTPサーバのファイルまたはフォルダーを削除しようとしてエラーが発生しました。このフォルダーへのアクセス許可があるかどうかを確認してください。

対応方法

コマンドプロンプトでftpコマンドを使って接続し、ファイル名をダブルクォーテーションで囲って指定することで削除(delete)や移動ができます。

$ ftp xxx.xxx.xxx.xxx
> delete " filename.msg"

Explorerからは先頭空白のファイル名を付与できませんが、WindowsAPI経由では可能のようです。今回の私の場合は、Microsoft Office Outlookのメールをファイルとして保存すると、ファイル名の先頭に半角空白が紛れ込みました。