Pandora Pocket

IT系と日常系の備忘録。三日坊主。

Raspberry Pi 4でUSBブートするための備忘録(2020/06/24時点)

RaspberryPi 4はブートの処理がこれまでのものと変わったためにUSBブートができなかったのですが、6月15日に正式公開されたブートローダーでついに対応しました。

が、6/24時点では単純にブートローダーを更新しただけではうまくいかなかったので備忘録。

続きを読む

Anker Roav FM Transmitter F2のUSBメモリー接続時の音楽ファイルの再生順について

伯父から車を譲ってもらったんですが、15年物の古い車で、CDかMD、FMラジオしか音楽再生手段がない。
近所に買い物に行くくらいならともかく、実家に帰るときなどある程度の距離を走るときは音楽が欲しい。

スマートフォンには容量の都合音楽ファイルを入れておきたくないので、USBメモリー対応のFMトランスミッターを物色し、AnkerのRoav FM Transmitter F2を購入しました。

続きを読む

Windows Package Managerに思うこと

日本時間5月20日0時から始まったMicrosoftのBuildで、Windows Package Managerが発表されました。

コマンドラインインターフェイスなパッケージマネージャです。

Linuxディストリビューションはaptやyum(たくさんありすぎてちゃんと把握してない)といったパッケージマネージャが、MacでもHomebrewなどのパッケージ管理システムが存在しているわけですが、WindowsはWindows 8までMicrosoft公式のアプリケーションパッケージマネージャはありませんでした。
Windows 8からストアアプリの配布を行うMicrosoft StoreアプリはWindows 10に至るまで存在しているわけですが、残念ながら成功しているとは思えません。

これはストアアプリとして公開するための手順が複雑であったこと、DesktopBridgeができるまでUWP形式のものしか基本的に公開できなかったこと、そしてセキュリティ上の問題を取り除くためにがちがちにできることを制限したことが原因だと私は解釈しています。

また、個人的にはWindows再インストール時に復元してくれず、マイアプリ欄から一つ一つインストールしなおす必要がある(コマンドラインのインストール手段がないのでスクリプト化できない)のも不満があります。

MS公式のパッケージマネジャーとしてはコマンドラインインターフェイスのPackage Management(OneGet)がWindows 10になってから公開されたのですが、こちらも瞬間話題になったような気がするものの、あっという間にすたれた印象です。

非公式なパッケージマネージャとしてChocolateyやScoopがあります。
こちらはなかなか活発に活動しているようで、実際環境構築時に使っているのですが、やはり公式外ということで一抹の不安はあります。
また、ChocolateyはUAC問題、Scoopはユーザー領域にインストールするのでUAC問題は基本的にないものの、Chocolateyに対してパッケージ数で劣ります。
またリポジトリ公開者=開発者ではないので、アップデートについていかなかったり悪意のあるソフトウェアをインストールされてしまう可能性が否定できず。

そんななかで新たに発表されたこの Windows Package Manager

果たしてこれまで抱えてきた問題を解決するものとなるのでしょうか。

まず大事なのはインストール可能なパッケージをたくさん確保することだと思います。
Microsoftストアは魅力的なソフトウェアが提供されていないことが過疎化の原因の一つだと思っています(卵か鶏かみたいなところはありますが)。
Windows Package Managerは今のところ開発者向けツールの位置づけのように思われますが、それでもやはり開発者が使うツールは一通りそろっていないとつらいものがあります。

この点ではナーバさんの投稿を見る限り、公開段階でそこそこの量の開発者向けパッケージを確保できているように見えます。

次にMSもしくは開発元が提供する安全なリポジトリ、パッケージ(Windows Package Managerではマニフェストというみたい)であること。
Microsoftストアは開発者が公開を行い、MSがチェックをすることで安全性を担保していますが、ChocolateyやScoopはこの辺りが心配です(確かVirusTotalでチェックしたりとかしてた気はしますが)。
少なくとも公式提供でないパッケージは先ほど書いたように必ずしもリポジトリでインストールされるソフトウェアが最新バージョンとは限らず、そして本物のソフトウェアをインストールする保証はありません。

Windows Package Managerは公式のリポジトリのほかサードパーティリポジトリが用意されるようですが、少なくとも公式リポジトリについてはSmartScreenやSHA256ハッシュ検証などで悪意のあるソフトウェアがインストールされる可能性を減らすようです。

次に、インストールコマンドを実行したらインストールが完了するまでノータッチで完了すること。
つまりは管理者権限不要であること、です。

Scoopが受けた理由はまさにこれだと思いますが、インストールコマンドを実行したらインストーラがダウンロードされて、実行されて、そしてUACウィンドウがぴょこんと出てきてそこでインストールが止まってしまうようでは困るんです。特に一気にソフトウェアをインストールしたいときに。

ScoopはZIP形式等で公開されているものをユーザー領域にインストールすることでUACを回避していますが、これだとインストーラしか公開されていないようなソフトだとダメなんですよねぇ。
これはインストーラの作りの問題でもあるので難しいとは思うのですが。

そういえばMSIXって結局どうなったんでしたっけ。

とりあえず眠い頭でつらつら書いてみたのですが、公式でパッケージマネージャが公開されること自体は大歓迎です。
Windowsを初期化した際、必要なソフトウェアを一つ一つインストーラをダウンロードしてインストールする手間が省けたらどんなに素晴らしいことか。

ただ、だいたいいつもこの手のMSソリューションは理想は高く現実は程遠くになりがちですので、どうかそんなことにならないことを祈っています。

MQTTHomeClientをプラグインで機能拡張できるように改良した

この記事で作っていたMQTTHomeClient。
MQTT Brokerから受け取ったTopicから処理を分岐させるんですが、ここで呼び出すWakeOnLANの処理をプロジェクト内で実装しています。
どうせ私しか使わないんでべたべた書いてもいいんですが、勉強がてらMQTTのクライアントの機能拡張をDLL追加でできるように改良してみました。

続きを読む