2015年12月29日火曜日

寄付を頂きました



IMG 0840

IMG 0841

IMG 0842

温かいお心遣いありがとうございました。今年も良い一年でした。みなさまも良いお年を。

2015年12月20日日曜日

NASの自作 Part51

OMVにComicCafeを入れてかれこれ一ヶ月ぐらい連続稼働させていて、いたって順調だったのですが、今日突然OMVから以下の様なエラーのメールが届きました。(3通)

This is an automatically generated mail message from mdadm
running on OMV-NODE804

A Fail event had been detected on md device /dev/md0.

It could be related to component device /dev/sdh.

Faithfully yours, etc.

P.S. The /proc/mdstat file currently contains the following:

Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdc[0] sdl[9](F) sdg[8](F) sdk[7] sdf[6] sdm[5] sdj[4] sdi[3] sdh[2](F) sdd[1]
      23441080320 blocks super 1.2 level 6, 512k chunk, algorithm 2 [10/7] [UU_UUUUU__]

unused devices: none

(F)って多分、Failって意味だから、HDD3台故障???マジですか。。。本当に3台壊れたなら終わりじゃないですか。。。同時にSMARTのエラーメールも届いてました。(2通)

This email was generated by the smartd daemon running on:

   host name: OMV-NODE804
  DNS domain: local
  NIS domain: (none)

The following warning/error was logged by the smartd daemon:

Device: /dev/disk/by-id/ata-WDC_WD30EZRX-00D8PB0_WD-WCC4N3KS2AFV [SAT], unable to open device

For details see host's SYSLOG.

You can also use the smartctl utility for further investigation.
Another email message will be sent in 24 hours if the problem persists.

"unable to open device"でググってみるとどうやらHDDの故障よりケーブルなどのトラブルの可能性が高いとのこと、外出先だったので直ぐに帰って復旧作業をしました。
最初に再起動を試しましたが起動後、RAIDは認識されず。。。メールで報告されたデバイスはsdg, sdk, sdl, sdhの4つで、自作時のメモでシリアル番号を確認すると、同じケーブルに接続されている4台ではないようです。これはヤバイと思い以下のコマンドでRAIDの状態を確認すると

cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : inactive sdc[0](S) sdg[9](S) sdh[8](S) sdl[7](S) sdi[6](S) sdf[5](S) sdj[4](S) sdm[3](S) sdk[2](S) sdd[1](S)
      29301355120 blocks super 1.2
       
unused devices: none

ん!? 何故かドライブの状態が全て(S)になってます。。。調べるとどうやらSはスペアのSとのこと。さらにコマンドで状況を調べます。

mdadm -E /dev/sd[cdfgihjklm]
/dev/sdc:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8002b7d3:4e1bb8d3:66b534b1:e7e9a90d
           Name : OMV-NODE804:RAID6  (local to host OMV-NODE804)
  Creation Time : Sun Sep 27 00:41:43 2015
     Raid Level : raid6
   Raid Devices : 10

 Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
     Array Size : 23441080320 (22355.16 GiB 24003.67 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : d1ec112e:6d291ee3:25845efa:d6957742

    Update Time : Sat Dec 19 22:22:17 2015
       Checksum : b585aa10 - correct
         Events : 131

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 0
   Array State : AA.AAAAA.. ('A' == active, '.' == missing)
/dev/sdd:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8002b7d3:4e1bb8d3:66b534b1:e7e9a90d
           Name : OMV-NODE804:RAID6  (local to host OMV-NODE804)
  Creation Time : Sun Sep 27 00:41:43 2015
     Raid Level : raid6
   Raid Devices : 10

 Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
     Array Size : 23441080320 (22355.16 GiB 24003.67 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 5740654e:ae81ac6a:eec7e781:af1c6a60

    Update Time : Sat Dec 19 22:22:17 2015
       Checksum : 2e3207a - correct
         Events : 131

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 1
   Array State : AA.AAAAA.. ('A' == active, '.' == missing)
/dev/sdf:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8002b7d3:4e1bb8d3:66b534b1:e7e9a90d
           Name : OMV-NODE804:RAID6  (local to host OMV-NODE804)
  Creation Time : Sun Sep 27 00:41:43 2015
     Raid Level : raid6
   Raid Devices : 10

 Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
     Array Size : 23441080320 (22355.16 GiB 24003.67 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 92bf4726:5304522d:6db5ab24:f8368453

    Update Time : Sat Dec 19 22:22:17 2015
       Checksum : 33492a25 - correct
         Events : 131

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 5
   Array State : AA.AAAAA.. ('A' == active, '.' == missing)
/dev/sdg:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8002b7d3:4e1bb8d3:66b534b1:e7e9a90d
           Name : OMV-NODE804:RAID6  (local to host OMV-NODE804)
  Creation Time : Sun Sep 27 00:41:43 2015
     Raid Level : raid6
   Raid Devices : 10

 Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
     Array Size : 23441080320 (22355.16 GiB 24003.67 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 33585a1d:96046870:fb9f752f:3b49e3dd

    Update Time : Sat Dec 19 17:29:20 2015
       Checksum : 2a37b3a - correct
         Events : 122

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 9
   Array State : AAAAAAAAAA ('A' == active, '.' == missing)
/dev/sdh:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8002b7d3:4e1bb8d3:66b534b1:e7e9a90d
           Name : OMV-NODE804:RAID6  (local to host OMV-NODE804)
  Creation Time : Sun Sep 27 00:41:43 2015
     Raid Level : raid6
   Raid Devices : 10

 Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
     Array Size : 23441080320 (22355.16 GiB 24003.67 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : c0cdad1d:12c70ac3:bee5bd83:1ace06ca

    Update Time : Sat Dec 19 17:29:20 2015
       Checksum : 96057de4 - correct
         Events : 122

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 8
   Array State : AAAAAAAAAA ('A' == active, '.' == missing)
/dev/sdi:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8002b7d3:4e1bb8d3:66b534b1:e7e9a90d
           Name : OMV-NODE804:RAID6  (local to host OMV-NODE804)
  Creation Time : Sun Sep 27 00:41:43 2015
     Raid Level : raid6
   Raid Devices : 10

 Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
     Array Size : 23441080320 (22355.16 GiB 24003.67 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : e05b06ac:92271d9d:e2e73405:afbefa7d

    Update Time : Sat Dec 19 22:22:17 2015
       Checksum : 33d2a3e0 - correct
         Events : 131

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 6
   Array State : AA.AAAAA.. ('A' == active, '.' == missing)
/dev/sdj:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8002b7d3:4e1bb8d3:66b534b1:e7e9a90d
           Name : OMV-NODE804:RAID6  (local to host OMV-NODE804)
  Creation Time : Sun Sep 27 00:41:43 2015
     Raid Level : raid6
   Raid Devices : 10

 Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
     Array Size : 23441080320 (22355.16 GiB 24003.67 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 879cda62:7469e943:8dd7e491:da943dec

    Update Time : Sat Dec 19 22:22:17 2015
       Checksum : 8c65ec3d - correct
         Events : 131

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 4
   Array State : AA.AAAAA.. ('A' == active, '.' == missing)
/dev/sdk:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8002b7d3:4e1bb8d3:66b534b1:e7e9a90d
           Name : OMV-NODE804:RAID6  (local to host OMV-NODE804)
  Creation Time : Sun Sep 27 00:41:43 2015
     Raid Level : raid6
   Raid Devices : 10

 Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
     Array Size : 23441080320 (22355.16 GiB 24003.67 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 264a91d5:2c04c3e4:6a5f8654:64d23e6d

    Update Time : Sat Dec 19 17:29:20 2015
       Checksum : e3a1b554 - correct
         Events : 122

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 2
   Array State : AAAAAAAAAA ('A' == active, '.' == missing)
/dev/sdl:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8002b7d3:4e1bb8d3:66b534b1:e7e9a90d
           Name : OMV-NODE804:RAID6  (local to host OMV-NODE804)
  Creation Time : Sun Sep 27 00:41:43 2015
     Raid Level : raid6
   Raid Devices : 10

 Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
     Array Size : 23441080320 (22355.16 GiB 24003.67 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 277d4802:06ad5ffa:7d9907de:70522c67

    Update Time : Sat Dec 19 22:22:17 2015
       Checksum : a95b8ff8 - correct
         Events : 131

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 7
   Array State : AA.AAAAA.. ('A' == active, '.' == missing)
/dev/sdm:
          Magic : a92b4efc
        Version : 1.2
    Feature Map : 0x0
     Array UUID : 8002b7d3:4e1bb8d3:66b534b1:e7e9a90d
           Name : OMV-NODE804:RAID6  (local to host OMV-NODE804)
  Creation Time : Sun Sep 27 00:41:43 2015
     Raid Level : raid6
   Raid Devices : 10

 Avail Dev Size : 5860271024 (2794.40 GiB 3000.46 GB)
     Array Size : 23441080320 (22355.16 GiB 24003.67 GB)
  Used Dev Size : 5860270080 (2794.39 GiB 3000.46 GB)
    Data Offset : 262144 sectors
   Super Offset : 8 sectors
          State : clean
    Device UUID : 7b8bfeed:db4b8436:0fafa8da:f59b317a

    Update Time : Sat Dec 19 22:22:17 2015
       Checksum : e0dc9c34 - correct
         Events : 131

         Layout : left-symmetric
     Chunk Size : 512K

   Device Role : Active device 3
   Array State : AA.AAAAA.. ('A' == active, '.' == missing)

見た感じ全く問題なさそうです。ちなみにディスクが壊れてる場合は mdadm: No md superblock detected on /dev/sda. みたいなメッセージがでるらしいです。
念のためSMARTなどの状態も確認しましたが、特に異常は見つかりませんでした。幸いバックアップは前のHDDに全て残ってるはずなので、強制的にRAIDを再構築してみることにしました。

mdadm --assemble --scan --force

コマンドは一瞬で終わり、無事にRAIDが復活しました。

cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdc[0] sdg[9] sdh[8] sdl[7] sdi[6] sdf[5] sdj[4] sdm[3] sdk[2] sdd[1]
      23441080320 blocks super 1.2 level 6, 512k chunk, algorithm 2 [10/10] [UUUUUUUUUU]


cat /etc/mdadm/mdadm.conf
# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default, scan all partitions (/proc/partitions) for MD superblocks.
# alternatively, specify devices to scan, using wildcards if desired.
# Note, if no DEVICE line is present, then "DEVICE partitions" is assumed.
# To avoid the auto-assembly of RAID devices a pattern that CAN'T match is
# used if no RAID devices are configured.
DEVICE partitions

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST 

# definitions of existing MD arrays
ARRAY /dev/md0 metadata=1.2 name=OMV-NODE804:RAID6 UUID=8002b7d3:4e1bb8d3:66b534b1:e7e9a90d

最近、CalcNoteの実装ばかりで、買ったUPSは放置したままだったり、OMVのアップデートも全くやってない状態だったので、時間作ってNASの運用も頑張らねばと思った次第です。でも本当にデータが消えなくて良かったです。

2015年12月13日日曜日

CalcNote Part03

昨日、CalcNoteのv1.0.7をリリースしました。細かなデザインの修正とバグフィックス、あと結果をタップすると16進数、2進数、税込、税別を表示できるようになりました。
肝心のダウンロード数ですが、相変わらず伸び悩んでいます。。。まだ評価数は少ないですが、高評価を維持できているのがせめてもの救いです。


AccessMenuBarApps 1

AccessMenuBarApps 3

実はリリースから一ヶ月をすぎる前あたりにAdmobに広告を出してみました。予算は1キャンペーンにつき1000円/日でクリック単価一律2円、「日本」、「アメリカ・インド」、「その他の英語を使ってる国」の3パターンです。アメリカとインドを別にしたのは、たまたまダウロードしてくれているユーザがいたからです。


AccessMenuBarApps

結果はこんな感じで、まずクリック単価2円だと日本では広告は表示されません。。。インド、アメリカは最初の数日は表示されたものの、それ以降は全く表示されませんでした。他のブログでも最初だけブーストがかかって広告が表示されやすいという記事がありましが、噂は本当のようです。またその他の英語を使ってる国では、楽勝で1日の予算を使い切ります。
今回の実験ではコンバージョン単価68円(1ダウンロードしてもらうのに68円)ということになりましたが、これが良い数字なのか判断が難しいです。少なくとも小遣い制のサラリーマンの私には広告にかけられる予算は限られてるので最低でも50円以下にしたいところです。
ということで一旦広告を出すのは止めて、コンバージョン率を上げるべくGooglePlayの見た目や説明文などを改善することにしました。またクラウドワークスでアイコンのコンペを開催して、プロの方にアイコンを作ってもらうことにしました。既にかなり良さげなアイコンも提案していただいてるので、これだけでもかなり見た目が良くなると思います。アプリにも改善を加えて年明けあたりに再度Admobにチャレンジしたいと思ってます。
あと、Admobに広告を出して気づいた点をまとめると

  1. Admobのコンソールに結果が反映されるのは1日1回
  2. クリック数やコンバージョン数は別々に反映される(最初クリック数1000でコンバージョン0件で焦りましたが、あとからコンバージョン数が計上されました)
  3. 予算はピッタリにはならないで、多少オーバーする。
  4. 1日の予算が1000円以上だとGoogleの営業から電話がかかってくる。(希望すれば無料でコンサルしてくれるそうです)
  5. 日本はクリック単価高め(いくらが妥当なのか不明だが、Googleの営業さん曰く最初はクリック単価の上限をかなり高めに設定して様子見るのが良いそうです)


ダウンロード数を増やす道のりはなかなか険しいですが、少しづつ実験しながらやっていこうと思います。年が明けたらComicCafeもまた実装する予定なのでご安心を。

2015年11月29日日曜日

CalcNote Part02

先日、CalcNoteのv1.0.5をリリースしました。行番号の表示やエディタの背景色、文字色の設定ができるようになり、よりテキストエディタっぽくなっています。
肝心のダウンロード数ですが、アンドロイダーの公認アプリになって、ランキングに掲載してもらったことでダウンロード数を少し伸ばすことができました。


AccessMenuBarApps 2

AccessMenuBarApps 3 2

まだまだ、たったのダウンロード数100ですが、無料でアプリを掲載してくれるアンドロイダーは個人の開発者にとっては救世主と言えると思います。ありがたいです。


AccessMenuBarApps

このアンドロイダーの影響なのか、本家GooglePlayの新着アプリでも一応ランキングに入ることができました。


Screenshot 2015 11 25 11 03 26

Screenshot 20151126 001229

本家のランキングに入ったことで、かなりダウンロード数が伸びるかと期待したのですが、実際はアンドロイダーに記載された以降はダウンロード数の勢いも無くなり、あまり効果がないようでした。。。とりあえず頑張って機能追加していきます。

2015年11月23日月曜日

CalcNote Part01

2015/11/07にCalcNoteのv1.0.0をリリースしてから2週間ちょっと経ちましたが、ダウンロード数が全く伸びませんorz


AccessMenuBarApps

AccessMenuBarApps 1

11/21現在、ダウンロード数はたったの35で、そのうち15は既にアンインストールしています。ComicCafeとは違って誰もが使うツール系のアプリなので、もっと楽観的に考えていたのですがやはりアプリの世界は厳しいです。この2週間で試した宣伝方法は放課後アプリ部というサイトに登録したぐらいです。アンドロイダーにも公認アプリ申請済みなので、そのうち掲載されると思いますが、どのくらい効果があるかは未知数です。
とりあえず、地道にバージョンアップして改善していき、ダウンロード数が伸びるのを待つしかないですね。
ちなみにComicCafe現在のインストール数/総インストール数 はたったの16%です。ほとんどの人がインストールしてみるもののアンインストールしているという悲しい現実です。まぁComicCafeはサーバーの設定など導入に壁があるので仕方が無いと諦めていますが、CalcNoteは50%以上はキープしたいところです。

2015年11月9日月曜日

CalcNoteをリリースしました

本日、CalcNoteをリリースしました。
ComicCafeと違って、事前準備もいらない簡単なアプリなので、是非ともダウンロードしていただければと思います。
gitのログを見ると作り始めてちょうど3週間でのリリースになりました。これからComicCafeと平行して開発を続けていきたいと思っています。とりあえずは機能よりも見た目を改善しないとダウンロード数が伸びなそうですねorz 頑張ります!!


Get it on Google Play

2015年11月6日金曜日

CalcNote

突然ですが、ひょんなことから現在、Android向けに電卓アプリを作ってます。
ComicCafe以外でGooglePlayにリリースしているアプリは無いので、このアプリが記念すべき2作目ということになります。
ComicCafeは大量の自炊ファイルを扱うことから、99.999%の一般の方には不要なアプリで、正直なかなかダウンロード数が伸びません。その半面、使ってくれる方はリテラシーの高い方が多いので、理不尽なレーティングも少なく4.38というとても良い評価をキープできています。(評価数自体が少ないというのもありますが。。。)
今回のCalcNoteは電卓アプリということで老若男女全てのユーザーが使えるアプリです。リリース後にどのような評価を貰えるか非常に楽しみであり怖いです。
残り3件のバグを修正したらリリースする予定なので、ComicCafeをお使いの方は是非、ダウンロードしていただけると嬉しいです。ちなみにスクリーンショットはこんな感じになります。


Screenshot 1

計算式を入力すると右ペインに答えがリアルタイムで表示されて、式はテキストエディタみたいに修正可能です。数値の入力パッドをスワイプすると関数電卓用の入力パッドに切り替わります。昔、Windows時代に便利に使わせてもらっていたiMemoってソフトに似た感じです。もちろん無料ですが今回は広告を入れてみました。
移動時間や就寝前などの空き時間を使って2週間ぐらいで実装したのですが、作っててちょっとハマったことをメモとして書きたいと思います。


1. AndroidStudioの謎のエラー表示
LayoutファイルでLinearLayoutにxmlで作成したdrawableをandroid:backgroundに設定したいたのですが、AndroidStudioで見るとエラー表示になります。

AccessMenuBarApps1

普通に実行できて問題は発生しないので放置していたのですが、原因は単にAndroidStudioがリソースファイルを表示できないってだけでした。通常、画像ファイルなどを指定すると、AndroidStudioはその画像を表示してくれます。

AccessMenuBarApps2

しかしxmlで記述したdrawableファイルは表示できないようで、あの赤いエラーマークみたいなのを代わりに表示しているとのこと。表示できないなら素直に何も表示しないで欲しかった。。。


2. Buttonを継承するとマテリアルデザインが適用されない
電卓のボタンでロンタップするとPopupWindowで関連する機能のボタンを表示しているのですが、そのロングタップできることを伝えるために、ボタンに三点リーダを表示しています。


Screenshot 4

この三点リーダを描画するためにButtonクラスを継承してonDrawで書こうと思ったのですが、Buttonを継承しただけでButtonのデザインがマテリアルデザインではなく普通のボタンになってしまいます。調査するとSuppot Libraryは内部で独自にLayoutInflaterを使っていて、もはやButtonでは無いViewに差し替えてButtonらしきものを表示しているらしいです。結局FrameLayoutでButtonとTextViewを重ねて対応しましたが、調査にかなり時間を取られましたorz


3. Android5、Android6だとFrameLayoutで重ねたViewが表示されない
これも先ほどの話と関連してるのですが、せっかくFrameLayoutで解決した三点リーダがAndroid5以上だと表示されなくなりました。Android4の端末しか持ってないので、エミュレータで確認していたバグなので当初はエミュレータのバグだと決めつけてました。同僚に実機を借りて試したところ見事に問題が再現してエミュレータの凄さを実感しました。原因はAndroid5から仕様が変わったらしく、前面に表示したいViewにandroid:translationZ=100dpと指定して解決しました。


ComicCafeのv0.6.37はテスト中なので、CalcNoteのほうが先にリリースすると思います。是非とも、よろしくお願いします。

2015年11月1日日曜日

Fire TV Stick



IMG 0803

IMG 0804

プライム会員割引で1,980円の商品なのですが、Fire タブレット 8GB、ブラックよりしっかりとしたパッケージです。


IMG 0805

しっかり、リモコン用の電池、電源用USBケーブル、アダプタ、HDMI延長ケーブルも付属しています。注意点としてはリモコンの電池ケースが全く開きません。30分ぐらい格闘した後、1円玉を引っ掛けて力ずくで開けましたが、なんでこんなクソな形状にしたのか不明です。


IMG 0806

以前、NASを外から操作するための踏み台Android用に買ったAndoer MK808B プラス HDより少し小さいです。Fire TV Stickに野良apkがインストールできるのかまだ試していませんが、もしインストールできるならAndoer MK808B プラス HDを買った意味が無くなっちゃいますね。。。
数は少ないですがプライム会員だと無料に見えるコンテンツがあったので、試しに俺はまだ本気出してないだけを見ました。思ったよりかなり面白かったです。オススメ

NASの自作 Part50

検討していた無停電電源装置(UPS)ですが、結局オムロン BY50Sを購入しました。やはり仕様で正弦波と謳っていますし日本メーカーなので何かあった時、対応しやすいってのが決め手になりました。


IMG 0796

IMG 0797

IMG 0808

なんと嬉しいことにバッテリーには3年間の保証がついていて、問題があれば無償で交換してくれるようです。これならむしろ2年半ぐらいでダメになって欲しいと下衆な考えが浮かんできます。とにかくオムロンにして良かったです。


IMG 0807

ちなみに保証を受けるにはユーザー登録みたいなのが必要なようなので注意が必要です。


IMG 0798

続いて付属品ですが、マニュアルと自動シャットダウンソフト、3Pプラグ->2P変換用アダプタとUSBケーブルです。ここで気になるのは何でUSBケーブルは黒じゃないのか?本体も黒なんだしどう考えても黒だろっ!って思うのですが、この辺りが日本メーカーなんでしょうか。。。まぁ余ってるケーブルがあると思うのでそれを使うことにします。


IMG 0799

IMG 0801

本体の見た目はシンプルで悪くない感じです。また説明書によると背面の設定スイッチでブザーを無効にしたり設定できるようです。マンションなんであんまり大きな音が出るのは困るので助かります。とりあえず今日は眠いので設定はまた時間がある時にやろうと思います。

2015年10月31日土曜日

ComicCafe v0.6.37 アルファ版

10ヶ月ほど更新が止まった状態になっていましたが、次リリース候補のComicCafe v0.6.37のアルファ版を公開しました。テストしていただけるボランティアの方を募集しております。
修正内容は以下になります。

  1. ライブラリ(PDFBox, Jetty, Gson, Richfaces, Mojarra, Apache Shiro)をアップデートしました。
  2. BPG形式のイメージに対応しました。お使いのプラットフォーム用のbpgdecのバイナリを${INSTALL_DIR}/plugins/bpg に配置して、ComicCafeServerを再起動してください。BPGはバージョンの互換性がないようなのでbpgdecは複数のバージョンを配置することができます。
  3. 管理コンソールでTag,Publisher,Authorの一括選択を実装しました。
  4. リンク切れブックの削除処理でファイルサイズが一致しないブックも削除するように修正しました。
  5. 不要なBasic認証の設定を削除しました。(常にBasic認証が有効になります)
  6. 本棚のクエリのパフォーマンスを改善しました。
  7. 既存の本棚を編集してAnd,Or,Not条件を削除した際に、対応する条件が削除されない問題を修正しました。
  8. ブックの新着一覧で、同一シリーズの新着ブックが複数存在する場合に、それらをまとめて表示するようにしました。
  9. Web管理画面からアクセスログを参照できるようになりました。
  10. セキュアモードを実装しました。セキュアモードをONにするとパスワードが保存されなくなり、起動時にパスワードを毎回入力するようになります。
  11. ハードウェアキーの割り当てで、任意のキーを設定できるようにしました。
  12. Webサービスの優先順位が保存されないバグを修正しました。
  13. Webサービスのサポートを拡充しました。(Amazon Product Advertising API, Google Books, ISBNdb, 国立国会図書館API, 楽天ブックス, OpenISBN)
  14. 任意のISBNでWebサービスのテストを実行できる機能を実装しました。
  15. 表紙イメージのサイズ設定に'特大'を追加しました。
  16. インポート時にComicRackなどのメタ情報を読み込んだ場合、カテゴリが正しく処理されない問題を修正しました。
  17. ビューワーで画像を高さに合わせた場合にステタースバー分のスペースが空いてしまう問題を修正しました。
  18. 本棚を高速でスクロースさせた時に画面がフリーズする問題を修正しました。

1〜10については今年の4月ぐらいに一度アルファ版として公開した修正になります。実装を予定していたアスペクト比を考慮した自動単ページ、見開き表示は次回移行のリリースに延期になりました。
アルファ版はここからダウンロードできます。


テストの注意点は以下になります。

  1. 必ずテストをする前にサーバーのインストールディレクトリにあるh2dbディレクトリをまるごとバックアップしてください。
  2. テストをする前にクライアント側の設定をエクスポートしてバックアップをとってください。
  3. バグを見つけた場合は、掲示板で報告をお願いします。TwitterかメールでもOKですが、他のテストしてくださる方と情報を共有したほうがベターだと思います。
  4. バグはなく正常に動いた場合も、掲示板で報告してもらえると大変助かります。全く反応がないと誰もテストしてくれてないと思ってしまいますので。。。


特にテストしていただきたい内容

  1. Android5系およびAndroid6系でのテスト(Android4の端末しか持っていないため)
  2. Windows系パソコンでのテスト(私の開発環境がMac、運用環境がLinuxのため)
  3. PDFの処理(自炊ファイルをPDFで管理していない為)
  4. 新機能全般

いつもご協力ありがとうございます。

2015年10月30日金曜日

消火器

今日はITとは全く関係ない話ですが、今度、住んでるマンションの消火器を交換することになっていて、ネットで検索しても見つからなかった情報なので共有するためにメモに残しておきたいと思います。
ウチのマンションでは加圧式のヤマトプロテック YA-10ESという消火器が設置されています。消火器は専用のブラケットという柱に固定されている金具でしっかりと固定されています。このブラケットが問題で、消火器本体が3500円ぐらいなのに対して、ブラケットは1つ1000円ぐらいします。そして柱にネジで固定するタイプなので交換するのが大変です。業者に依頼すると工賃で1つ1000円ほど取られます。トータルで見ると出張費などを含めて20万円ほどブラケット代だけでかかってしまうことになります。
理事会で話し合って、以下の選択肢の中からどれかを選択することになりました。ちなみに1が一番コストが高く、4が一番安くすみます。2,3はコストは中ですが、自分たちでブラケットの撤去、設置を行う必要がるのでかなり大変そうです。

  1. 消火器、ブラケットを購入して取り付けを業者に依頼する
  2. 消火器、ブラケットを購入して取り付け自分達で取り付ける
  3. 消火器のみ購入して、ブラケットの代わりに無料で貰える留め具を使って自分たちで設置する
  4. 既存のブラケットと互換性のある消火器のみ購入して、自分たちで設置する

やはり可能であれば安くて楽な4がいいということで、ヤマトプロテック YA-10ESのブラケット10ESと互換性のある消火器を探すことにしました。ネットで検索すると現在ネットで購入可能でヤマトプロテック YA-10ESと同径の消火器は蓄圧式消火器 10型 PEP-10Cしかありませんでした。
2つともブラケットの仕様書を見ると直径は120mmです。ただ仕様書なのに約120mmとアバウトな記述が不安にさせます。


01 比較前

03 ブラケット

結論を言うと蓄圧式消火器 10型 PEP-10Cヤマトプロテック YA-10ESのブラケットは互換性がありません。まぁメーカーが違うので当然なのかもしれませんが、蓄圧式消火器 10型 PEP-10Cのほうが直径が数ミリ大きいです。フックに固定するところまでは問題ありませんが、固定する金具を閉めることはできませんでした。


06 PEP 10C設置

個人的には20万もかかるなら、金具は閉まらなくても壁に引っ掛けておくだけで問題なさそうに思うのですが、見た目はあまりよくないですね。また次回の理事会でどうするか話し合う必要がありそうです。。。

2015年10月29日木曜日

寄付を頂きました



IMG 0802

温かいお心遣いありがとうございました。ありがたく使用させていただきます。そしてComicCafeを早くリリースせねばとあらためて思った次第です。

Fire タブレット

1ヶ月ぐらい前に注文したFire タブレット 8GB、ブラックがやっと届きました。
現在、家ではNexus7 2012でComicCafeを使って漫画を読んでいて特に不満はないのですが、プライム会員割引で4,980円という安さにつられて勝手しましました。ちなみにFire TV Stickも1,980円という安さにつられて既にポチっています。


IMG 0792

IMG 0793

パッケージはちょっとした厚紙で、かなり安っぽい感じです。(まぁ本当に安いんですけど)


IMG 0794

ちゃんと充電用のケーブルもついています。材質はプラスチックなので、持った感じもかなり安っぽいです。
Nexus7 2012と比べてみるとこんな感じです。大きさはほとんど変わらないです。


IMG 0795 3

FireはAndroidベースの独自OSを採用しているのでデフォルトではGooglePlayを使うことができません。使う方法もあるようですが、今回はComicCafe用端末なので特に必要ありません。とりあえず設定をインポートするためにDropBoxだけはインストールしようと思いAmazonのアプリストアを検索してみましたが、DorpBoxすら無いようですorz
仕方がないのでDropBoxのホームページから直接apkをダウンロードしてインストールしてみましたが当然のように失敗に終わります。どうやら野良アプリはデフォルトではインストールできない設定のようです。[設定]->[セキュリティ]->[不明ソースからのアプリ]を有効にすることで無事にインストールすることができました。同じようにComicCafeもapkを提供しているのでここから最新のapkをダウンロードしてきます。最新はv0.6.36です。かれこれ10ヶ月もリリースしてないでごめんなさい。なんとか年内にはv0.6.37をリリースしたいと思ってます。


Screenshot 2015 10 29 17 24 40

スクリーンショットを撮ってから気づいたのですが、通知バーに◯◯さんのfireと本名が表示されてました。。。慌てて塗りつぶしましたが、なんていらない機能なんでしょう。どうやら消す方法はないようなのでAmazonのアカウントサービスからコンテンツと端末の管理で端末の名前から本名を削除しました。簡単にしかテストしてませんがDropBoxもComicCafeも問題なくfire上で動作しました。


Screenshot nexus7 2012

Screenshot fier

つづいて画質の比較ですが、1枚目がNexus7 2012でのComicCafeのスクリーンショットで、2枚目がfireのスクリーンショットです。写真では分かりづらいかもしれませんが、少しだけfireタブレットのほうが読みづらい感じがします。おそらく解像度の低さが原因だと思いますが、漫画用途であれば問題ないレベルだと思います。なんと言ってもこの端末の最大のウリは4,980円という安さですから、我慢しましょう。
結論としては、プライム会員でタブレットを1台も持ってない人ならComicCafe用の端末としてアリだと思いました。