2014年10月29日 (水)

ios8.1 SIM Free iphone5でもdocomo LTE使えます

docomoでSIM Free iphone5を使っていますが、
ios8.1にアップデートしたら、
"設定"の"モバイルデータ通信"の"音声通話及びデータ"で
LTEが選択できるようになってました。
実際、選択すると画面一番上の中央に
"LTE"の文字が出てます。
webアクセスも速くなっているようです。

| | コメント (0) | トラックバック (0)

2014年3月 2日 (日)

FC30 Gamepad for iOS

iPhone/iPadでペアリングやボタン操作ができないと1週間迷ったのでメモ。
iOS7.0.6でも使えています。
以下説明ではiPhoneと書いてますがiPadでも同じです。

・電源ON
STARTボタンとAボタンを同時に押し続ける。
青LEDが3回点滅パターンになったら押し続けをやめる。

・電源OFF
STARTボタンとAボタンを同時に押し続ける。
赤LEDと青LEDが同時に点灯し、すぐ消灯する。
消灯を見届けてから押し続けをやめる。

・初期化(ペアリングで必要になることあり)
一旦電源OFF、その後電源ONする。
この後、SELECTボタンを押し続ける。
すると、赤LEDと青LEDが同時に点灯し、すぐ消灯する。
これで初期化完了。(この後は3回点滅パターン。)

・ペアリング
FC30を電源ONしてから、iPhoneのBlueToothをONする。
しばらくすると、「8Bitdo FC30 GamePad」と表示されるので
タッチするとペアリングされ接続。
※もし「~を入力してください」のようなメッセージが出たら
キャンセルしてiPhoneのBlueToothをOFFする。
そして初期化を実行する。この後、ペアリングをやり直す。

・FC30でゲームをするときは(重要)
使用する間は、iPhoneのキーボードを「英語」だけにする。
(設定-一般-キーボード-キーボードで
一旦英語以外のキーボードは削除する。)
ほかにキーボードがあると(入力が英語以外になっていると)操作できない。
前もって確実に入力を英語に切り替える操作をすれば削除しなくてもよい。

・firmwareアップグレード
windows PCからUSBケーブル経由で行う。
8Bitdoのsupport
http://www.fc30.com/eng/support.html
にある、「Client Software & Firmware」の下の
歯車マークをクリックし、圧縮ファイルを
ダウンロード。
中にはfirmwareのデータと、アップグレードのツール(exe)、
説明(readme.txt)が入っている。
readme.txtのとおり行えばアップグレードできる。

ちなみに、私が動作確認したアプリは、Raiden Legacyと
NAMCO ARCADE、clipboard stackerです。これらは特に
ボタン割り当てのメニューもないのですが
ボタン割付が変なものがあります(L/Rボタンだったり)が
使えます。Raiden Legacyはバッチリ(って方向ボタンだけか、
でもパッドで操作できるのはいいです)。

| | コメント (4) | トラックバック (0)

2013年9月11日 (水)

Precise Puppy 5.6.1 日本語版でNASのファイル救出

LANDISKがこわれた。
ミラーリングしてたけど本体が壊れては読み出せない。

こういうときはKNOPPIXで、とDVDを焼いて
救出を試みるがミラーのHDDをUSB接続しても
認識されない。やり方が悪いのかもしれないけど。

で、最近使う機会がかなり減ってしまったpuppyを思い出す。

Precise Puppy 5.6.1 日本語版をダウンロード、CD化。
こちらを立ち上げ、HDDをUSB接続。

あっさり認識。ファイルも取り出せた。
なかなかpuppyもつかえるなあ。

| | コメント (0) | トラックバック (0)

2013年8月11日 (日)

calibreでhtmlを電子書籍フォーマットに変換

htmlをepubにするものがないか探したが、イマイチよさそうなものがない。

もしかして、calibreでできないかなと試したら、アッサリできたのでメモ。

calibreを立ち上げ、htmlファイルをドラッグandドロップすると、
リンクされた画像などのファイルを探し出しながらzipファイルを作り、登録してくれる。

後はepubやAZW3などの電子書籍フォーマットに変換するだけ。

たとえば、あるwebのページを、EverNoteでノートに貼り付け、編集しておき、
これをexportしてhtml出力しておけば、calibreで電子書籍フォーマットに変換できることになる。

| | コメント (0) | トラックバック (0)

2013年3月13日 (水)

kindle PaperWhite用自炊データの目次つきフルスクリーン化

自炊本をkindle PaperWhiteで目次つきフルスクリーン表示させるのに、
ChainLPPDFDietEasy、どちらも利用させてもらってますが
現時点、以下がベスト、と思ってます。

1.
ChainLPにてepubを作成
(目次を作成する際、量が多ければ一つ目だけGUIで入力し、
プロジェクトファイルを保存、プロジェクトファイルを
一つ目を参考に編集)

2.
作成したepubの拡張子をいったんzipに変更し、
metadata.opfの
<spine page-progression-direction="rtl">

<spine page-progression-direction="rtl" toc="ncx">
に変更、epubに戻す。
参考: Kindle Paperwhiteで自炊データをいろいろしてみよう part2

3.
以下のようなバッチファイルを使って
mobi変換とサイズ縮小を行う。(「あああ」がファイル名)
kindlestrip.exeは、kindlestrip.pyをpy2exeすればできるが
PDFDietEasyに同梱されているのでありがたく利用。

@echo off
set kgenexe="C:\Program Files\PDFDietEasy\kindlegen.exe"
set kstexe="C:\Program Files\PDFDietEasy\kindlestrip.exe"
set mobiname=あああ

%kgenexe% "%mobiname%.epub" -c0 -o "_%mobiname%.mobi"
%kstexe% "_%mobiname%.mobi" "%mobiname%.mobi"
pause

4.
calibreで書籍情報を追加。表紙も追加(Kindleに表示できるかはまた別)

---

後はメモ。

・calibreで書籍情報を追加するには、「書誌情報を個別に編集」を選んで、タイトル、著者名(→ボタンで~ソートに入れてやる必要あり)を入力、「書誌情報をダウンロード」ボタンを押す。あとは検索されたものが出てくるので選べばよい。
このとき、「書誌情報をダウンロード」ボタン右横の設定ボタンを押し、「Amazon.com」にチェックを入れ、そこを選択したまま「選択した情報源を設定」ボタンを押すと、「使用するAmazonウェブサイト」で日本を選ぶことで日本のAmazonから情報が得られる。

・epub-mobiに限らず、calibreで変換するとフルスクリーンが解除されてしまう。ちなみにmobiのサイズはkindlegenのように大きくならない。

・書籍情報追加でAmazonからの情報を選択しておき変換をかけると、Kindleで表示したときの「パーソナル」の帯が出なくなる(ことが多い?)。

・calibreで表紙をつけられなかった時
sigilでつけようとしたがkindlegenが通らなくなり駄目。
(それなら最初から1ページ目に表紙を入れてChainLP実行するほうが。)

PDFDietEasyだと、非常に簡単に作成できるので使いたいのですが、
現時点は以下のような問題があり、上記の流れを使ってます。

・PDFDietEasyで目次をつけるとフルスクリーンが解除されてしまう件は
2013.3.11.1で直された。しかし、目次が「本文と同列」のところに表示され不便。
Screenshot_a

移動タブの目次の下に表示してほしいところ。

Screenshot_b

(calibreで変換をかけると目次についてはOk。
しかも階層化していた場合にAZW3に変換すると目次も階層化されてばっちり!
でも変換をかけるとフルスクリーンが解除されるようなので…。
->設定の仕方がわからないだけかも。)

| | コメント (2) | トラックバック (0)

2012年8月28日 (火)

クリップボードにアクセスするスクリプト

wsf(wsh)のJavascriptでクリップボードにアクセスする方法を
web検索したら、

WSH よりクリップボードを使う
WSH よりクリップボード、次の手

が見つかりました。
前者は、いちいちダイアログが立ち上がるので
後者を使いたいわけですが、CライクだからJavaScriptを使う
私にはとっかかりの部分がよくわかりません。

で、自分がとっつきやすいようにするため、二つをあわせて
以下のように変更(ほとんどパクリですみません)。とりあえず動作。

<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?>
<package>
<job id="ClipTest">
<?job error="True" debug="True" ?>
<object id="objFs" progid="Scripting.FileSystemObject" />
<script language="JavaScript">
<![CDATA[

var clipboard = new Clipboard ();
var stxt = clipboard.getText ();
WScript.Echo (stxt);//クリップボードの内容をダイアログ表示

clipboard.setText ("OK : " + stxt);//"OK : "を追加して文字列をクリップボードに書き込み

function Clipboard ()
{
// コマンドのID
var OLECMDID_COPY = 12;
var OLECMDID_PASTE = 13;
var OLECMDID_SELECTALL = 17;

// IE のインスタンスを作成
this.internetExplorer = new ActiveXObject ('InternetExplorer.Application');

// IEの初期化
this.internetExplorer.Navigate ('about:blank');
while (this.internetExplorer.Busy)
  WScript.Sleep (10);

// textarea 要素を作成する
var _textarea = this.internetExplorer.document.createElement ("textarea");
this.internetExplorer.document.body.appendChild (_textarea);
_textarea.focus ();

// クリップボードより文字列を取得するメソッド
this.getText = function ()
{
  _textarea.innerText = "";
  this.internetExplorer.execWB (OLECMDID_PASTE, 0);
  return _textarea.innerText;
};

// クリップボードに文字列をコピーするメソッド
this.setText = function (s)
{
  _textarea.innerText = s;
  this.internetExplorer.execWB (OLECMDID_SELECTALL, 0);
  this.internetExplorer.execWB (OLECMDID_COPY, 0);
  return true;
}

// IE を解放するメソッド
this.release = function ()
{
  this.internetExplorer.Quit ();
  return true;
}

return this;
}
]]>
</script>
</job>
</package>

| | コメント (2) | トラックバック (0)

2012年8月21日 (火)

TortoiseSVNでの変更ファイル等をcopyするwsf

TortoiseSVNでの変更ファイル等をcopyするバッチファイル
使っていましたが、ファイルやフォルダ名にスペース文字があったときなど
対応ができないので、困ることが多くなり、wsfで作り直しました。

以下がそれです。

<copytsvn.wsf>

<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?>
<package>
<job id="copytsvn">
<?job error="True" debug="True" ?>
<object id="objFs" progid="Scripting.FileSystemObject" />
<script language="JavaScript">
<![CDATA[

LISTTXT = "list.txt";
SRC_FOLDER = "AAA";
DST_FOLDER = "AAA_bk";

var strCurrentFolder = objFs.GetParentFolderName(WScript.ScriptFullName);
//WScript.Echo ("CurrentFolder : " + strCurrentFolder);

var strSourceFolder = strCurrentFolder + "\\" + SRC_FOLDER;
var strDestinationFolder = strCurrentFolder + "\\" + DST_FOLDER;
var strListText = strCurrentFolder + "\\" + LISTTXT;
var strTemp;

if(!objFs.FolderExists(strCurrentFolder))
{
WScript.Echo ("SourceFolderがありません");
}
else if(!objFs.FileExists(strListText))
{
WScript.Echo (LISTTXT + "がありません");
}
else if(objFs.FolderExists(strDestinationFolder))
{
WScript.Echo ("DestinationFolderが既に存在します");
}
else
{
objFs.CreateFolder(strDestinationFolder);//DestinationFolder作成
var objTs = objFs.OpenTextFile(strListText,1,false);//ReadOnlyでLISTTXTを開く

do{
  strLine = objTs.ReadLine();//1line読み出し
  //WScript.Echo ("> " + strLine);
  splitData = strLine.split("/");//'/'で区切る
  //WScript.Echo ("num: " + splitData.length);
  if(splitData.length == 0)
  {
   //処理しない
  }
  else
  {
   if(splitData.length == 1)//file copyのみ
   {
    //for file copy
    strTemp = splitData[splitData.length-1];//file pathの後半部分
   }
   else
   {
    //mkdir
    //strDestinationFolder;
    for(i=0; i<(splitData.length-1); i++)//最後の文字列はファイルであるとみなす
    {
     //WScript.Echo ("str: " + splitData[i]);
     if(i == 0)
     {
      strTemp = splitData[i];
     }
     else
     {
      strTemp = strTemp + "\\" + splitData[i];
     }
     if(!objFs.FolderExists(strDestinationFolder + "\\" + strTemp))
     {
      objFs.CreateFolder(strDestinationFolder + "\\" + strTemp);//Folder作成
     }
    }
   
    //for file copy
    strTemp = strTemp + "\\" + splitData[splitData.length-1];//file pathの後半部分
   }
   //file copy
   if(!objFs.FileExists(strSourceFolder + "\\" + strTemp))
   {
    WScript.Echo ("ファイル:" + splitData[splitData.length-1] + "がありません");
   }
   else
   {
    objFs.CopyFile(strSourceFolder + "\\" + strTemp, strDestinationFolder + "\\" + strTemp);//from,toの順
   }
  }
}while(!objTs.AtEndOfStream);

objTs.Close();
}

]]>
</script>
</job>
</package>

<このスクリプトの使い方>
copytsvn.batとほとんど変わりません。
作業フォルダで右クリック→tortoiseSVN→「変更をチェック」
として変更ファイル等を表示、copyしたいものをマウスでアクティブにして
右クリックで「クリップボードにパスをコピー」。
これを「パス」などファイル名以外がある行は削ってlist.txtとして保存、
作業フォルダが入っているフォルダに置く。
このスクリプトファイルを、作業フォルダが入っているフォルダに置き、スクリプト中の
SRC_FOLDERに元のフォルダ(上記のままなら"AAA")を、DST_FOLDERに出力フォルダ(上記のままなら"AAA_bk")を記述して保存する。
あとは実行(このスクリプトをクリック)するだけ。
(必要なフォルダを作りながらファイルをコピーします。)

| | コメント (0) | トラックバック (0)

2012年8月17日 (金)

ipod touch/iphone用EBPocketの辞書データ転送

一年半ぶりに辞書(wikipedia)を更新しようとしました。
が、例によって転送方法を忘れてしまいました。
そういうわけで調べたことをメモ。

普通にやるとすればwifi経由でftp転送。

1.EBPocket Freeを起動
2.左下歯車アイコンを押す
3.設定-FTPサーバー(Windows(SJIS)はオンにしておく)
4.右上「開始」ボタンを押す

とするとipアドレスとポート番号が表示されるので
PC側FTPソフト(私はFFFTPを使用)で

ipアドレス:ポート番号

のように指定して接続。
あとは表示されたフォルダのEBPocketフォルダに転送するだけ。

wifi経由なのでやはり遅いです。
そこでUSBケーブル接続で、i-FunBoxでの転送ができないかと調べてみると、

Connected Devices
-xxxのiPod~
-ユーザー・アプリケーション
-EBPocket Free
-Documents
-EBPocket

の下に辞書データを発見。
ここにおけばOKとわかりました。

| | コメント (0) | トラックバック (0)

2012年8月15日 (水)

svnのpre-lockスクリプト(windows)

pre-lockスクリプトではまったのでメモ。

ほかのhookではバッチファイルの実行結果が出ないのに、
何故かpre-lockではそのまま出てしまう
。これが災いしてエラーになる。
たとえば以下のように。

@echo off
rem "@echo off"は先頭に必要です。
set PATH=C:\Windows;C:\Windows\system32;

cscript //nologo %~dp0_pre-lock.wsf %1 %2 %3 %4 %5
if ERRORLEVEL 1 goto fail

:success
exit 0

:fail
exit 1

さらに上記では、wsfを呼び出している。そこももし表示するようにしていればエラーになるので注意。以下はその_pre-lock.wsfの内容。

<?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?>
<package>
<job id="SvnPreLock">
<?job error="True" debug="True" ?>
<object id="objFs" progid="Scripting.FileSystemObject" />
<script language="jscript">
<![CDATA[

//WScript.echo("OK!");//pre-lockではechoを出してはいけない
//WScript.Quit(1);//異常終了
WScript.Quit(0);//正常終了

]]>
</script>
</job>
</package>

追記:
上記にエラー処理も入れた場合、エラーのとき「ロックが pre-lock フックによって妨げられました (終了コード: 99)。出力はありません。」と出てしまいます。

何のエラーかわかるようにしたいと思い、無理やりバッチファイルでメッセージを標準エラーに出力。

@echo off
rem "@echo off"は先頭に必要です。
set PATH=C:\Windows;C:\Windows\system32;

cscript //nologo %~dp0_pre-lock.wsf %1 %2 %3 %4 %5
if ERRORLEVEL 2 goto fail
if ERRORLEVEL 1 goto fail1

:success
exit 0

:fail1
@echo on
echo コメントを入力してください。>&2
exit 99

:fail
exit 1

標準エラーに出力してもいいのかよくわかってませんが、とりあえず思惑通りの動き。
「ロックが pre-lock フックによって妨げられました (終了コード: 99)。出力:
コメントを入力してください。」のように表示されます。

| | コメント (0) | トラックバック (0)

2012年8月13日 (月)

Subversionでのリビジョン削除

今までSubversion1.5(TortoiseSVN1.5)を利用していました。
時々コミットをミスったとき、「直接」リポジトリのDBフォルダを
いじっていました。(だって時間がかからないし)

しかし、つい最近、1.7にアップデートし、
それでリポジトリを作成、そのうちコミットをミスってしまいました。

いつもの調子で上記のとおり削除。
すると、いくつかコミットしてチェックアウトする時にエラーが出るようになりました。
もうこの方法は使えないのかも。

TortoiseSVNログを表示、右クリックこのリビジョンにおける変更を取り消すのようにする方が無難でしょう。履歴残るけど。

しかし、もうおかしくなったのでdumpでもどすしか。
やり方を忘れてたので、ついでにここにメモ。

まず、指定リビジョン(今回12)までdump。リポジトリはxxx、aaa.dumpに保存。

svnadmin.exe dump -r 0:12 "c:\repos\xxx" > c:\aaa.dump

次にリポジトリ作成。名前はyyyとする。これは、

svnadmin.exe create "c:\repos\yyy"

のようにコマンドラインで作成すると、リポジトリフォルダにアイコンが出ません。ので、ここはTortoiseSVNで作成(フォルダ構成は作らない)。

最後にload。

svnadmin.exe load "c:\repos\yyy" < c:\aaa.dump

| | コメント (0) | トラックバック (0)

«WSHでプログラムを実行する際のコンソールウィンドウを非表示に