2017年12月2日土曜日

Raspberry Pi ZERO W に OSMC をセットアップ

届いた ZERO に早速 OSMC を入れてみました。

MicroSDカードはその辺に転がってた、8Gの Class4 です。
ま、とりあえず、動作確認的に入れてみて、不満があればまた変更するつもりで。

インストール自体は順調に進みました。
Windows10 の母艦にMirocSDをセットして、NOOBS から。
この辺りは、たくさんの人が手順を公開されてるので、そちらを参考に。

OSMC は起動するとWindows や Linux 見たいなGUIのデスクトップが現れるのではなく、いきなり KODI の画面になります。
この ZERO W は購入時からメディアサーバー専用の予定なので、ちょうどいいですね。

日本語化も特に問題なく。
一瞬文字化けで困りかけましたが、依然に Pi3 で経験済みだったので、これもネットを参考にして、FONT だろうとおもわれるところで、ARIAL だろうと思われる豆腐文字を選択。

これで、NAS に置いてある音楽ファイルとか、MPEG4 のビデオとかは再生できるようになりました。
すごく簡単です。




2017年11月25日土曜日

Raspberry Pi ZERO W 到着

Raspberry Pi ZERO W を入手しました。(2017.11.21発注で同23到着)

前回はRasPi3を購入して、KODI などで結構便利に使っています(ホントは子供とプログラミング練習をするという名目で買ったけど。)が、
今回、「Google AIY Voice Kit」の導入を決意し、Pi3はそれ用に使うので、KODIなどのホームメディアサーバーはこのZEROでやってみようと思います。

販売元の KSY に Pi ZERO と Google AIY Voice Kit を同時に発注しました。
Google AIY Voice Kit は12月上旬の発送になると書かれていました。
Pi ZERO は在庫ありとのこと。

二つをセットで発注することで、5000円以上になり、送料が無料になりました。

Pi ZEROも12月上旬まで発送してくれないかな?と思いながら待っていたら、なんと、翌日ポストに小さな箱が投函されていました。

もしかしたら、Google AIY Voice Kitも早く入荷したのか?と思って開けてみると、まあ予想された結果ですが、 Pi ZEROだけが入ってました。

今回は、専用ケースとmini-HDMIの変換アダプターとMicroUSB-OTGケーブルがセットになった、Official Simple KIT です。

さて、これには、OSMC を入れてみようと思います。

2017年10月12日木曜日

Access VBA でイベントに関数を登録

MicroSoft Access の話題です。

フォームに大量のボタンを配置した場合など、それぞれのボタンのクリックイベントを書いていると結構邪魔くさい。

例えば、月単位のカレンダーを表示して、特定の日付をクリック(もしくはダブルクリック)したら、その日の詳細を表示するフォームがポップアップするなどのプロシージャを書きたい場合など。
実際には押された日付を取得できれば、あとは同じ処理になるので、プロシージャ自体は非常に簡単だけど、
普通にかいたら、最低でも31個のClickイベントを書かなければならない。
これは非常に邪魔くさい。

そこで、すべてのコントロールを選択(SHIFTを押しながら選択)して、「クリック時」イベントに「=ユーザー関数」を書けば、一発で登録できる。

コントロールの名前を「日付」にしておけば、
「Screen.ActiveControl.Name」でそのコントロールの名前を取得できるので、
押された日付が取得できる。

実際には
--------------------------------------------------------------
Function UF_PCall()
    Call R_Main
End Function

sub R_Main()
    V_条件 = Screen.ActiveControl.Name
    Docmd.OpenForm "F_PopUp",,,日付 = " & V_条件
End Sub
--------------------------------------------------------------

こんな感じのプロシージャを書いておいて、
フォームの日付フィールドを複数選択して、
そのクリック(もしくはダブルクリック)イベントに、
「=UF_PCall()」
と書けば、一発登録完成です。

今更ながら、イベントプロシージャに関数を書くというのは、目から鱗でした。

応用編として、コントロールの名前が取得できるなら、
    me.Control(取得した名前).Value
などとすれば、値を取得することも可能になるし、
    set obj_CTRL =  me.Control(取得した名前)
とすれば、あとは、
    obj_CTRL.Value
でも、
    obj_CTRL.BackColor
でも、そのコントロールのプロパティーを簡単に操作できますね。











2017年9月4日月曜日

Life Card の改悪

前回 Life Card のポイントで Amazonギフト券と交換すると、ちょっとお得になると書いたら、ちょうどそのすぐあとに、Life Card が改悪を行ったようで、今はお得になりません。
今は一律1000ポイントで5000円分のギフト券に交換できる1種類だけになりました。

Life Card は高還元率で有名なクレジットカードだったのですが、続々と改悪があって、一番の売り文句だった、「誕生日月は5倍」というのも、3倍に減りましたし、
高速道路のETC使用やEdyのチャージももポイント対象外になってしまいました。

年間150万円以上の使用で、ポイント2倍も無くなり、
年間200万円以上の使用で、ポイント2倍になりました。
ただし、年間100万円以上の使用で、ポイント1.8倍というのが追加になりました。

でも、総合的に魅力半減です。
特に私の場合、高速道路をよく使うので、ポイントが付かないのは響きます。

早急に新しいカードを検討しなければなりません。


2017年6月2日金曜日

LifeカードのポイントをAmazonギフト券に交換

普段クレジットカードは Life Card をメインカードにしています。
公共料金などもこれで支払ってるので、ポイントが結構貯まります。

今回、その貯まったポイントを Amazonギフト券に交換しました。

交換レートは、LifeCard 3,600ポイントで Amazonギフト券20,000円を選択。
現金系に交換するより10%お得ですね。

金曜日の21時ごろにLifeCardのWEBから交換手続きを開始。
生年月日やカードの暗証番号などの入力が必要。
でも、いたって簡単。

入力完了後、送信ボタンを押して、待つこと約5分で、
Amazonギフト券番号が記載されたメールが送られてきた。

今度は、AmazonのWEBにログインして、送られてきた番号を入力すると、
その瞬間にチャージされました。
こちらもいたって簡単。

これなら、買いたいものが見つかった時に、すぐに交換して使える。

しかもチャージしたギフト券の有効期限は、なんと2027年。
ほぼ10年使える。

予想では半年ぐらいで失効するのかと思って、
交換をためらっていましたが、
こんなに長いならもうちょっと大きな金額で交換したほうが良かったか。

交換レートは累進なので、
 3,600P=20,000円(10%)
 8,800P=50,000円(12%)
15,000P=100,000円(25%)

25%OFFは感動ものですが、こんなにポイント貯めれるのかな?



2017年5月9日火曜日

RemoteFX って使えない

リモートデスクトップはすごく便利に使っています。

Windows7 のノートパソコンから 別室にあるWindows7 のデスクトップパソコンをリモートしたり、Windows 2008 Server r2 サーバー機のリモート管理を行ったりしています。

ところが、今回二要素認証を導入しなければならないことになり、ちょっと問題が発生しました。
全てのパソコンにUSBメモリー風のデバイスを接続して、対応するパスワードを入れないとログインすることができなくなりました。

このUSBメモリー風デバイスは一人1個しかない。
リモートで別のパソコンを操作するということは、2台のパソコンにログインするということ。
ということは、デバイスが2個必要となるので、事実上リモート接続が不可能になってしまいました。

ここで色々彷徨ったら、RemoteFXなるものを導入すれば、操作する側(自分の目の前)のパソコンに接続したUSBデバイス(ローカルデバイス)を、操作される側(別室にある)のデバイスとして認識させることができるという情報をつかんだ。

もともと、DVDドライブやプリンターなどはこちら側に繋いだものを利用できるので、それが拡張されたという感覚ですね。

得られた情報では、Windows7 なら 32bit でも64bitでもOKで、SP1が適用されていることが条件となっている。

これを使えば完璧!ということで、色々試行錯誤をしたのに、どうしても設定できない。

もうちょっと彷徨ったら、なんと RemoteFX は、
Windows7 でも「Enterprise」か「Ultimate」エディションしか使えない!

そんなエディションありえへん!
無駄な時間を費やしてしまった。

しかも、結局リモートデスクトップと二要素認証のジレンマは解消できず。
こりゃ困った。




ClickOnce がとつぜん

ClickOnece で組んであったシステムが突然以下のようなエラーを吐いて動かなくなってしまった。

複数台の端末で同じ実行環境を作ってあった内の数台でダメ。
サーバー自体で起動した場合は普通に起動する。

怪しいのは1か月ぐらい前に、ウィルス対策ソフトを入れ替えたこと。
マカフィーからカペルスキーに。

でも、すべての端末は同じ環境なのに、なぜ?
しかも、ダメな端末も朝一は正常起動していたのが、途中で端末の電源を入れなおした後からダメになったような気がする。

やはりカペルスキーか?
ということで、ダメな端末の内の1台で、カペルスキーをアンインストールして実行してみたけど、たっぱりダメ。

一晩ネットを彷徨ったら、やはりウィルス対策ソフトで ClickOnece がダメになった例が報告されていることを発見。

そこで、カペルスキーのログを確認したところ、ありましたありました。
システムの実行ファイルを隔離してやがった。

まだカペルスキーを削除していない端末は、カペルスキーのインターフェースを使って、隔離ファイルを復元し、実行ファイルのあるフォルダをスキャン対象から除外する設定を施したら、普通に起動するようになった。

カペルスキーをアンインストールしてしまった端末は、隔離されたファイルを復元する方法がないので、別の端末のログを参考に実行ファイルを本来のフォルダにコピーして復元。
ところが、この実行ファイルはカペルスキーが確実にウィルス扱いするので、コピーする際に、大元のClickOnece配信サーバーから一旦中間サーバーを経由してダメ端末にコピーしようとすると、その中間サーバーにカペルスキーが居るので即座に駆除(隔離)してしまうので、手動でコピーしようとした瞬間に駆除されるというのを数回繰り返してしまった。
別のルートを使ってなんとかコピーして、正常起動を確認。

正常起動してた端末でも同じようにカペルスキーが入っていて、同じ辞書ファイルが配信されているのに、なぜ正常起動していたのかは不明。
もしかしたら、辞書ファイルの配信が上手くいってなかったのかも。(それはそれでもっと問題ありかも)

また、配信サーバーには偶然カペルスキーを入れていなかったので、大元の構造は破壊されていなかったのはラッキーでした。

マカフィーの時はそんなことなかったのに、カペルスキーにしてから約1か月でアウトとは、カペルスキーの技術力に問題ありなんじゃないの?

今回起動しなかったのはほんの2~3台だったのと、このシステムを利用している端末が10数台だけだったので軽症で済んだけど、ネットワーク自体は100台以上規模なので、もしもっと重要なファイルをカペルスキーが勝手に駆除しちゃうと、大打撃となる可能性があります。

----------------------------- Error LOG -------------------------------------
PLATFORM VERSION INFO
Windows : 6.1.7601.65536 (Win32NT)
Common Language Runtime : 4.0.30319.18444
System.Deployment.dll : 4.0.30319.18408 built by: FX451RTMGREL
clr.dll : 4.0.30319.18444 built by: FX451RTMGDR
dfdll.dll : 4.0.30319.18408 built by: FX451RTMGREL
dfshim.dll : 4.0.41209.0 (Main.041209-0000)

SOURCES
Deployment url :serverURL
Server : Microsoft-IIS/8.5
X-Powered-By : ASP.NET
Application url :serverURL
Server : Microsoft-IIS/8.5
X-Powered-By : ASP.NET

IDENTITIES
Deployment Identity : appname.Application.app, Version=1.9.0.2, Culture=ニュートラル, PublicKeyToken=4cf906, processorArchitecture=msil
Application Identity : appname.Application.exe, Version=1.9.0.2, Culture=ja, PublicKeyToken=4cf906, processorArchitecture=msil, type=win32

APPLICATION SUMMARY
* Online only application.
* Trust url parameter is set.
ERROR SUMMARY
Below is a summary of the errors, details of these errors are listed later in the log.
* Activation of ServerURL resulted in exception. Following failure messages were detected:
+ Activation failed.
+ アクセスが拒否されました。 (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

COMPONENT STORE TRANSACTION FAILURE SUMMARY
No transaction error was detected.

WARNINGS
There were no warnings during this operation.

OPERATION PROGRESS STATUS
* [2017/04/18 10:04:40] :

ERROR DETAILS
Following errors were detected during this operation.
* [2017/04/18 10:05:12] System.Deployment.Application.DeploymentException (Activation)
- Activation failed.
- Source: System.Deployment
- Stack trace:
--- Inner Exception ---
System.UnauthorizedAccessException
- アクセスが拒否されました。 (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
- Source: System.Deployment
- Stack trace:
at System.Deployment.Application.NativeMethods.CorLaunchApplication(UInt32 hostType, String applicationFullName, Int32 manifestPathsCount, String[] manifestPaths, Int32 activationDataCount, String[] activationData, PROCESS_INFORMATION processInformation)
at System.Deployment.Application.ComponentStore.ActivateApplication(DefinitionAppId appId, String activationParameter, Boolean useActivationParameter)