2014年10月4日土曜日

OS X の ターミナルで遊んでみる。

 まずはプロンプトに今のディレクトリだけを表示させるように変更した。
MacBook-Air:Downloads $ PS1="\W $ "
Downloads $ 
 だだしこれは今の bash に対してのみ有効なだけのコマンドだから次回以降も有効にするべく .bash_profile へ export PS1="\W $ " を追加した
Last login: Sat Oct  4 07:29:21 on ttys000
Downloads $ 

 次に起動音をなくす。
Downloads $ sudo nvram SystemAudioVolume=%80
 こちらはコマンド実行時の再起動については有効だった。
 残念ながらそれ以降は起動音が鳴ってしまう。
 調べてみたものの nvram に保存されている SystemAudioVolume の値がなくなってしまうことが問題になっているんだが原因が不明。

 いきなり話は飛んで MacBook Air 11-inch, Late 2010 で仮想 PC なんぞを始めたせいでディスク容量が厳しくなってきた。
 仮想 PC を動かすにはマシンスペックも厳しいので SSD を JetDrive 500 の 240GB に新調してパーティションを二つに分けて一つを Mavericks をクリーンインストール。もう一つを Boot Camp を使って Windows7 64bit をインストールすることにした。
 光学ドライブはないので USB メモリを使ってインストールをする。
 参考にしたサイトは以下の通り。
 「Mac で ISO イメージをブートできるように USB メモリーに書き込む」
http://blog.kechako.com/entry/2013/06/11/041445

 1. iso イメージを dmg イメージへ変換する。
Downloads $ hdiutil convert -format UDRW -o ./ja_windows_7_ultimate_with_sp1_x64_dvd_618242.dmg ./ja_windows_7_ultimate_with_sp1_x64_dvd_618242.iso
GRMCULXFRER_JA_DVD              (Apple_UDF:0) を読み込み中...
...............................................................................
経過時間:36.274s
速度:87.3M バイト/秒
節約率:0.0%
created: /Users/xueli/Downloads/ja_windows_7_ultimate_with_sp1_x64_dvd_618242.dmg
Downloads $

 2. MacBook Air に何もつないでいない状態にするしてディスク情報を確認する。
Downloads $ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS OS X                    178.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:                  Apple_HFS MBA 2                   60.9 GB    disk0s4

 3. イメージを書き込む USB メモリを MacBook Air に挿してディスク情報を確認する。
 今回は 16GB のものにした。
Downloads $ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *240.1 GB   disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                  Apple_HFS OS X                    178.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:                  Apple_HFS MBA 2                   60.9 GB    disk0s4
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                            GRMCPRXFRER_JA_DVD     *16.1 GB    disk1

Downloads $ 

 4. dmg ファイルを直接ディスクへ書き込むために USB メモリを解放する。
Downloads $ diskutil umountDisk /dev/disk1
Unmount of all volumes on disk1 was successful

5. 先ほど作った dmg ファイルを USB メモリに書き込む。
Downloads $ sudo dd bs=8192 if=./ja_windows_7_ultimate_with_sp1_x64_dvd_618242.dmg of=/dev/disk1
Password:
405436+1 records in
405436+1 records out
3321335808 bytes transferred in 525.666310 secs (6318335 bytes/sec)

 6. 書き込みが終わった USB メモリを取り出す。
Downloads $ diskutil eject /dev/disk1
Disk /dev/disk1 ejected

 7. USB メモリから起動する。

 8. はずなのに起動時の選択肢に USB メモリが出てこないので調査する。
 「外部 USB 記憶装置から起動する (Intel ベースの Mac)」
http://support.apple.com/kb/HT1948?viewlocale=ja_JP
 起動ディスクのメニューから出てこないところをみると USB メモリの中身がおかしいのかな。
 iso ファイルを書き込んでもだめだった。


2014年9月28日日曜日

Mavericks をクリーンインストール

 MacBook Air 11-inch, Late 2010 に VirtualBox を入れて仮想 PC として Windows8 をインストールした。
 そうしたらディスク残り容量は厳しくなるしファンは回りまくって間違いなく寿命が縮む使い方なので MacBook Air か Pro を新調しようと思ってどれにしようか探していたところ JetDrive 500 なる製品を見つけた。
http://jp.transcend-info.com/apple/jetdrive/

 これと Boot Camp を使えば普通に使えそうなので問題は解決だな。
 Boot Camp Support Software 4 までしか対応していないようなので Windows7 にする必要があるが問題はなし。
http://support.apple.com/kb/DL1630?viewlocale=ja_JP

 そんな訳で容量の 480G の JetDrive を買おうと思ったら 11-inch は非対応のこと。
 どうやら両面に SSD を実装をすると本体に干渉しちゃうようで片面のみの実装となるからだそうだ。
 諦めて 240G のものを秋葉館でポチった。
http://www.akibakan.com/BCAK0080035/
 内蔵している 128G の SSD は付属のケースで外付けドライブとして使えるし SSD 交換時に使用する工具類も全部そろっているのでよく考えられている製品である。

 次の日に到着。
 新しい SSD になったので勉強がてら Mavericks をクリーンインストールすることにした。
 こちらのサイト「カンタン!! OSX 10.9 MavericksのインストールUSBを作る!」をを参考にしてやってみることにした。
http://basssomasunduo.hatenablog.jp/entry/2013/12/12/204402

$ sudo /Applications/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled/ --applicationpath /Applications/Install\ OS\ X\ Mavericks.app --nointeraction
Password:
Erasing Disk: 0%... 10%... 20%... 30%...100%...
Copying installer files to disk...
Copy complete.
Making disk bootable...
Copying boot files...
Copy complete.
Done.

 次は SSD 交換と Mavericks の再インストールであるがインストール用 USB を作ったところで作業を一時中断。

 今日は娘の運動会があるのだ。

 この MacBook Air は知人から譲ってもらったものなので大事に使っていきたい。

2014年9月15日月曜日

Xperia Z1 - SOL23 ナビバーを消してみた

呪文は以下の通り。

qemu.hw.mainkeys=1

これを build.prop へ追加して本体を再起動すると今まで活躍の頻度の割にはエリアを確保しすぎていたナビバーが無くなって画面が広くなった。

すっきりした。

この言葉がぴったりである。

2014年9月6日土曜日

SOL23 と adb を Wi-Fi 環境下にて接続できた。

 SOL23 こと Xperia Z1 は防水となっている。
 USB コネクタ部分はカバーになっているが充電時や PC との接続時にはその都度カバーを開ける必要がある。
 同様な仕組みの SOL21 を使っていた時はそのカバーを破損させてしまったので SOL23 では同じミスを繰り返さないことにした。
 具体的にはマグネット充電ケーブルを使って充電するようにした。
 付属しているクレードルを使えばこのケーブルを買う必要はないのだが SOL23 にはバンパーを付けているのでクレードルへの設置ができないのである。

 問題は SOL23 の USB ポートはデータのバックアップやリストアにも使う時がある。
 ここで調べてみると Wi-Fi 環境下において adb との接続が出来るという。
 そこでやってみたらちょっと手こずったけれど接続できた。
 しかも SOL23 と USB 接続を一回もしていない状況でできたのは嬉しい誤算であった。

D:\>adb connect 192.168.100.110:5555
connected to 192.168.100.110:5555

D:\>adb devices
List of devices attached
192.168.100.110:5555    device

 ついでに SOL21 で使っていた 2chMate のバックアップデータを SOL23 へリストアしてみたが問題なくできた。

D:\>adb restore 2chMate.ab
Now unlock your device and confirm the restore operation.


 なお参考にしたサイトは以下のとおり。
 「Wi-Fi環境でadb接続するには」
http://www.adakoda.com/android/000541.html
 「USB Host and Accessory」
http://developer.android.com/guide/topics/connectivity/usb/index.html
 「[Android] 実機にネットワーク越しにadb接続」
http://www.binzume.net/diary/2011-03-21:A1




 unable to connect to 192.168.100.110 がでまくったのはお約束である。

 お役目御免となった SOL21 は何に使おうかな。

2014年7月22日火曜日

SOL23 と adb backup

 adb backup を使ってバックアップをしてみた。

D:\SOL23\backup\20140722>adb backup -apk -all -system -all
Now unlock your device and confirm the backup operation.

D:\SOL23\backup\20140722>dir
 ドライブ D のボリューム ラベルがありません。
 ボリューム シリアル番号は BA92-6874 です

 D:\SOL23\backup\20140722 のディレクトリ

2014/07/22  17:34    <DIR>          .
2014/07/22  17:34    <DIR>          ..
2014/07/22  17:38       334,202,343 backup.ab
               1 個のファイル         334,202,343 バイト
               2 個のディレクトリ  29,830,762,496 バイトの空き領域


 でもリカバリはどうなるんだろうね。

 root を取得したときに CWM を入れたはずなんだけれど再起動しても青色点灯してくれない。
 frontmost も起動していたのが落ちちゃってるし。
 なんか SOL23 が夏バテのようだw


 リカバリをしてみた。

D:\SOL23\backup\20140722>adb restore backup.ab
Now unlock your device and confirm the restore operation.

 途中で失敗したようだけど Gmail や Play ブックスがきちんと立ち上がるようになったのでよしとしよう。
 アプリの再インストールやアカウントの同期などが色々と走るので手順を考える必要はありそうだな。
 しかし簡単に復活できるのは良いことである。

 一番の問題は Google+ で写真のアップロードが走ってしまって同じ写真や動画がダブってしまうことだな。

PC Companion で SOL23 をバックアップ

 SOL23 で Gmail や feedly などを立ち上げようとすると異常がでてしまって立ち上がらなくなって数週間。

 ここらで初期化をしてみようと思ったけれどいままで ftf ファイルを作る時くらいにしか使うことがなかった PC Companion でバックアップとリストアをしてみよう。


 しかしながら残り時間がとんでもないのでやめようと思った次第。

 こういう場合は放置プレイが正解。


 たいていは寝てる間に終わってる。
 果報は寝て待て!

2014年7月10日木曜日

もう少しきれいにしたいんだがどうしたらよいのだろうか。

 ようやく Calc に入力したセルの値を取り出して SQL の WHERE の条件にしてデータベースからデータを取得することができた。
 具体的には型式から仕入れ価格を取得する。

 実行結果は以下のとおり。
 一行目が型式で二行目が仕入れ価格である。








 次は取得した仕入れ価格をセルへコピーすることと取得したデータがなかった場合の処理をどうするかだな。

 きれいにしたいのは実行した次のコードのことだったりする。

Sub Main

  Dim DatabaseContext,DataSource,Connection As Object
  Dim Statement,ResultSet As Object
  DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
  DataSource = DatabaseContext.getByName("DataBaseFile")
  Connection = DataSource.getConnection("", "")
  Statement = Connection.createStatement()

  Dim Sheet  As Object
  Dim SheetName As string
  Dim Cell As Variant
  SheetName = "見積り"

  dim const startgyou = 11 - 1
  dim const countgyou = 6 - 1
  dim const endgyou = startgyou  + countgyou
  dim const katasiki = 1
  dim const siirekakaku = 7

  Doc = ThisComponent
  if Doc.Sheets.hasByName(SheetName) then
    Sheet = Doc.Sheets.getByName(SheetName)
    for gyou=startgyou to endgyou
      Cell = Sheet.getCellByPosition(3, gyou).String
      ResultSet = Statement.executeQuery("select * from TestTable where katasiki = '" & Cell & "'")

      If IsNull(ResultSet) Then
        MsgBox "データがありませんでした。"
      Else
        ResultSet.next
        msgbox  ResultSet.getString(katasiki) & chr(13) & ResultSet.getString(siirekakaku)
      End If

    next gyou
  else
    msgbox "シート " & SheetName & " がありません。"
  end if

Statement.Close()
Connection.Close()
Connection.Dispose()

End Sub

MELSECNET/HのリモートI/O局経由のMODBUS(R)通信について

http://fa-faq.mitsubishielectric.co.jp/faq/show/13661  別ネットワークの先にぶら下げるってどういうことだろう。