2023 年買ってよかったもの

年があけましたので去年同様買って良かったものを残しておこうと思います。

XGIMI MoGo2 Pro

スマートプロジェクターです。テレビとテレビ台が邪魔になってきたので処分できないかなーと考えてて、選択肢としてプロジェクターを思いついたのがきっかけです。スマートプロジェクターというのはスマート TV のプロジェクター版みたいなやつです。要はこいつ自体に androidOS が入っているので PC 等に接続しなくても単体で動画配信サービスとかを観ることができるということです。すごいですね。

最初は Anker の Nebula Cosmos にしようかと思ってたんですが微妙にでかくて場所を取りそうなのがネックでした。んでなるべくコンパクトなやつを探したんですが、コンパクトなやつとなるとほとんど充電式のモバイルプロジェクターになってしまうようです。充電式だと充電を気にしながら使うの微妙かなあと。そんな中見つけたのがこれ。据え置き式かつコンパクトでデザインもなかなか悪くないし、セール時期を狙って買ってみることにしました。

jp.xgimi.com

感想としては、やっぱり大画面は素晴らしいです。 ACTON II に bluetooth で接続して音も良い感じに出ます。本体の音も案外悪くはないですが、せっかくの大画面なのでスピーカー使ったほうが迫力があってよいです。スクリーン用意するのが面倒だったので普通に白い壁紙の壁に映してますが、違和感なく綺麗に映ります。日当たりにもよると思いますが、日中でもカーテンを閉めれば薄いですがそれなりに見えます。

ネトフリやらアマプラ等は契約していないのでわかりませんが、 Youtube/TVer/NHK プラス/d アニメストアあたりのアプリはよく利用してます。夜ゆっくり酒飲みながら大画面でアニメを観るのもいいものです。あと大画面で見る映像の世紀はなかなかくるものがあります。

一応縦横方向の自動台形補正機能がついてるんですけど、後述の三脚で斜め下から投影しているのが悪いのか、置き場所が悪いのかわかりませんが微妙にアホなので、手動補正が必要です。

なおゲームモードだと台形補正自体が効かないので、投影面の正面に置く必要があります。ゲームも大画面でやると迫力があっていいですね。全体的には非常に満足しています。

FunLogy tripod L

プロジェクター用三脚です。 MoGo2 Pro は上下方向の角度調整ができないので、三脚があると便利です。公式のスタンドもありますけど、安いのでいいやということで購入。

おおよそ見た目通りな使い勝手で必要十分な感じです。斜め上に投影できるようになったので、雑誌等を積み上げて高さを調整する必要がなくなりました。たたんでコンパクトにしまえるので持ち運びもできそうです。持ち運ぶ予定はないですけど。

FunLogy tripod L / アクセサリfunlogy.jp

BUFFALO nasne

プロジェクターでテレビを見る用のネットワークチューナーです。近年テレビ番組は結構 TVer で賄えますが、野球中継とか年末の酒場放浪記とかどうしてもリアルタイムで見たい番組もあるのでやっぱりテレビは見られるようにしておいたほうがいいな、ということで購入。

なるべくケーブルを減らしたかったので無線でプロジェクターに映せるテレビチューナーを探したんですが、案外あんまり選択肢がないようです。ピクセラのやつとか候補にあがりましたが、最終的に結局 nasne が間違いなさそうということで決めました。

流石にテレビに比べると番組切り替えが遅いですが、番組表一覧の表示はわりと速いです。ばんばんザッピングするような使い方だとちょっとつらいかもしれません。しかし番組書き出しとかは有料オプションでいいと思うんですが、テレビ視聴すら有料オプションなのはすごいですね。買い切りだし安いのでまあいいんですけど、これないと何も出来ないのでは。皆プレステ持ってる前提なのかな。

www.buffalo.jp

nasne まで揃って、ようやくテレビを処分することができ、部屋が広く使えるようになりました。

まとめ

2022 年に結構色々買ったのでだいぶ家電系は揃った感があり、 2023 年はあまり買いませんでした。あまりモノを増やすのも良くないので今年は断捨離といこうかなと思ってます。 10 年前は思い入れがあって捨てられなかったものも、今見ると案外捨てられたりするので、定期的に持ち物を見直すのがいいのかもしれません。

2022 年買ってよかったもの

2 年ぐらいブログ放置してしまった。ということで年が明けましたが 2022 年は引き続きのコロナ禍もあり、家にいる時間も長いし家の環境をよりよくしようということで色々買ったので、買ってよかったものを記録として残しておこうと思います。

Marshall ACTON II Bluetooth Speaker

スピーカーです。 PC 用のちっさいスピーカーをテレビやら iPod に有線接続して 10 年以上使ってたんですがそろそろちょっといいやつがほしいなと思って買い替え。

ペアリングしてるデバイスの電源を入れたタイミングかなんなのかよくわかりませんがいちいちスピーカー側の接続音が鳴って再生中の音が邪魔されるのが難点ではありますが、小さいけど音は十分良いしかっこいいので気に入ってます。複数デバイスをペアリングできるのも便利。

今調べると ACTON III が出てますね。

www.marshallheadphones.com

BAREBONES レイルロードランタン

ベランダ飲みでもやるかーと思ったものの夜になるとめっちゃ暗かったので、ちょうどいい照明を探しててみつけたやつ。同じく BAREBONES のミニエジソンランタンとどっちにするか悩みましたが、充電式の方が良いかなと思いこちらにしました。

持ち運びしやすいのと、つまみで明るさをアナログな感じで調整できるのが良い感じです。暖色系の明かりではありますが、 LED なので暖かい光というよりはどちらかというと眩しい感じの光ではあります。暗い場所で使うのであれば目に入らない位置に置くか、間接照明っぽく使うのが良いかもしれません。

普段はベッドサイド照明に使ってます。部屋の照明落としてこれをつけて酒を飲んだりすると雰囲気がよいです。

barebonesliving.jp

Synology DiskStation DS120j

NAS です。 Surface + 外付け HDD にデータを手動でバックアップという運用をしてたんですが Surface 側のディスクがどう頑張っても足りなくなり、クラウドストレージ含め対策を検討した結果 NAS でええやんとなりました。

NAS には全然詳しくないので良し悪しはよくわかりませんが設定画面の Web UI が Linux デスクトップみたいな感じで面白いです。パッケージをインストールする感じで機能を追加していけるのも楽しい。国産品だと設定画面が業務アプリチックな独特な UI になってることが多いので、こういうのはいいですね。わかりやすい日本語のマニュアルも付属してるので導入や設定で困ることは全くありませんでした。

NAS をネットワークドライブとしてマウントしてデータ置き場とし、 NAS のデータは NAS に外付け HDD を接続して自動バックアップというスタイルでやってます。ディスクが 1 台しか刺さらないので RAID は組めませんが、私の運用ではそこまで必要性を感じないので良しとしてます。 HDD は NAS 用にしたほうが良いらしかったので、一応 Western Digital の RED にしました。

www.synology.com

ロジクール MX Keys Mini

ワイヤレスキーボードです。コンパクト + ワイヤレスで見た目も良かったので購入。テンキーは付いてませんが元々テンキーを使う習慣がなく、むしろテンキーがないやつを探してたのでドンピシャな感じ。コンパクトキーボードにありがちな変態配列じゃないのも良いです。

10 年ぐらい前の MacBook みたいなほどよくペチペチした打鍵感が気に入ってます。最近の MacBook のキーボードって鉄板叩いてるみたいな感じでちょっと固すぎるんですよね。

Bluetooth で 3 台までペアリングできるので、仕事用 PC と個人用 PC で共用できるのが便利。切り替えもキーボードショートカット一発。 Surface Pro とほぼ同じぐらいの幅というコンパクトさですが、持ってみると案外重いので持ち運びには適さないかもしれません。

www.logicool.co.jp

ロジクール ERGO M575

トラックボールマウスです。今までマウスというものに全くこだわりがなく、会社支給のやっすい有線マウスとか適当なやつ使ってたんですが、トラックボールマウスって使ったことないなーと思って調べてみると「一度使うと戻れなくなる」みたいな高評価が多かったのでボケ防止に新しいものに挑戦するのもいいかなとエントリーモデルっぽいやつを買ってみました。

トラックボール自体がどうかというと、 2 ヶ月ぐらい使った感じだと細かいポイントが未だにちょっと難しいですが腕を動かさなくて良いのが楽ですね。スクロールバーなんかをドラッグしながら長距離スクロールするのも簡単。マウスを移動させなくなるので場所を取らないのと、マウスが反応しづらい場所でも関係なく使えるのも良い。腱鞘炎対策に良いというのも見ましたが元々腱鞘炎ではないのでよくわかりません。

この製品に関しては MX Keys Mini のように複数デバイスBluetooth ペアリングはできないものの、 USB レシーバー接続にも対応しているので 2 台のデバイスで使えます。仕事用 PC には USB 、個人用 PC には Bluetooth といった使い分けにしてます。

www.logicool.co.jp

Chamsaler ノート PC スタンド

今まで仕事用ノート PC をクラムシェル的運用で閉じて普通にデスクに置いてたんですが、場所取るのでとても邪魔でした。縦置きできるスタンドがあるというのを知ってどこかのブログで紹介されてたやつを買ってみました。

ラバーコーティングされているので PC に傷がつくこともなく、重量もあるので大きめのノートでも安定して立てられます。これのお陰でだいぶデスクがすっきりしました。 3 列のものを買いましたが 1 列分はスマホぐらいしか置けないので、 4 列のやつを買ったほうが良かったかも。

www.amazon.co.jp

Microsoft Surface Pro 8

5 年ぐらい使ってた Surface がいよいよ不安定になってきたので、 Surface 9 が出るタイミングで型落ちの 8 を購入。マウスとキーボードは前述のロジクールのやつを使うので本体のみ。持ち運び運用ならタイプカバーがあったほうが良いかもしれません。

SSD が交換できるらしいですが NAS があるので本体にはそこまで容量を必要としないためやってません。とはいえ流石に 128GB は Visual Studio とかインストールすると容量がすぐにやばくなると思われたので 256GB にしました。

www.microsoft.com

まとめ

2022 年は結構散財した感がありますが、おかげで在宅環境がだいぶ充実しました。 PayPay 祭等で高還元率を狙って買ってたんですがこの手のやつも徐々にしょぼくなってきたので悲しいですね。まだ欲しいものは色々あるけど物価上昇が辛い。

Carthage + Xcode の Archive で IPA processing failed が発生した場合の対処

状況

何年か前に作成した iOS プロジェクトを Xcode 11 でビルドできるようにし、デバッグ実行・実機転送では問題なく動くようにした状態で Enterprise 用に Archive しようとすると、 IPA processing failed とかいう適当なメッセージが表示されて先に進めません。

ログを確認すると以下のようなメッセージが出てました。

2020-xx-xx 02:28:49 +0000  /Applications/Xcode 11.3.app/Contents/Developer/usr/bin/ipatool exited with 1
2020-xx-xx 02:28:49 +0000  ipatool JSON: {
    alerts =     (
                {
            code = 3620;
            description = "Configuration issue: platform AppleTVSimulator.platform doesn't have any non-simulator SDKs; ignoring it";
            info =             {
            };
            level = WARN;
        },
                {
            code = 3620;
            description = "Configuration issue: platform WatchSimulator.platform doesn't have any non-simulator SDKs; ignoring it";
            info =             {
            };
            level = WARN;
        },
                {
            code = 3620;
            description = "Configuration issue: platform iPhoneSimulator.platform doesn't have any non-simulator SDKs; ignoring it";
            info =             {
            };
            level = WARN;
        }
    );
}

環境

  • Xcode 11.3
  • Carthage 0.34.0

調査

ログの内容で検索すると、ライブラリからシミュレーターのアーキテクチャーを除去すれば良いとかで怪しげなスクリプトが貼られており、「いやそれはないだろ」と思って Carthage の設定を見直すことにしました。

原因

やっぱり Carthage の設定が古いのが原因だったっぽいです。

対処

Carthage の GitHub を参考に、ライブラリの導入手順を見直しました。 GitHub の記述そのままですが、 2020/3 時点では以下のような感じ。

  1. carthage update --platform iOS でライブラリをビルド
  2. Xcode の TARGETS -> アプリ名 -> General -> Frameworks, Libraries, and Embedded Content に、Carthage/Build/iOS 配下の *.framework をドラッグアンドドロップ
  3. Xcode の TARGETS -> アプリ名 -> Build Phases -> Run Script に /usr/local/bin/carthage copy-frameworks を記述
  4. Cartfile のあるディレクトリに input.xcfilelistoutput.xcfilelist を作成
  5. input.xcfilelist$(SRCROOT)/Carthage/Build/iOS/xxx.framework のように、利用しているライブラリ分記述し、 Input Files でのライブラリの指定を削除
  6. output.xcfilelist$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/xxx.framework のように、利用しているライブラリ分記述
  7. Run Script の Input File Lists に $(SRCROOT)/input.xcfilelist を、 Output File Lists に $(SRCROOT)/output.xcfilelist を指定

今回はこれに加え、 Build Phases の Embed Frameworks で利用しているライブラリを設定していたので、これらを全部消しました。これがあるとデバッグ実行で Multiple commands produce とかいうエラーが出てました。これを消すことで Archive も通るようになりました。

以前は Embed Frameworks に指定するやり方だった気がするんですが、やっぱり環境アップデートする場合は公式ドキュメント読め、ですね。前提が間違っている状態でログの内容をもとに調べてもダメでした。あとはもうどうしても必要な場合以外は外部ライブラリはなるべく使わないほうが良いかもしれないですね。環境周りでハマるとつらすぎます。

iOS 開発難しい。よく皆こんなのできるな・・・。

Eclipse で apt-maven-plugin が動かない場合の対処

QueryDSL の apt-maven-plugin が動かなくてハマったのでメモ。

現象

もともとなんの問題もなく動いていた apt-maven-plugin が何かの拍子に突然動かなくなりました。 target/generated-sources/java 以下に保存時に QueryDSL の自動生成クラスを作ってくれるはずが、 Eclipse からソースを編集して保存すると target/generated-sources/java が空っぽになってしまいます。

対策

コマンドラインから Mavenコンパイルするとソースが生成されるので、 Eclipse 側の原因と思われました。 Eclipse での保存時の動きなのでビルド設定まわりでは?とあたりをつけて、プロジェクトのプロパティから Builders を開くと Missing builder となっているものがあったので、そいつらのチェックを外すと動くようになりました。

そもそもそいつらが要らない場合、 .project ファイルを編集して該当項目を消してしまっても良いと思います。

今回はおそらく STS でプロジェクトを開いた際に自動的に設定されたと思われる org.springframework.ide.eclipse.boot.validation.springbootbuilder と org.springframework.ide.eclipse.core.springbuilder が原因でした。この環境では STS プラグインを入れていなかったので、使用できないビルダー設定になっていました。とはいえこの状態で普通に APT が動いていたはずなので謎ではありますが・・・。

先日どうしても apt-maven-plugin が動かなくて、 EclipseSTS プラグイン入れたらなぜか動くようになったということがありましたが、これが原因だったのかもしれません。その時はプロジェクトをインポートした時点からさっぱり動かなかったので、原因を突き止められていませんでした。

何かログなり出ていればともかく、「動かない」という事実だけ突きつけられると非常に辛いですね。あと、今回はゴミにやられた感じなので同じプロジェクトをいろんな環境で開くべきではないですね。

IIS でのフォルダーアクセス権限を設定する

今更ながら IIS 上で動かす ASP.NET Web アプリケーションからファイル操作をする場合にフォルダーのアクセス権ではまりかけたのでメモ。 IIS10 あたりで確認してます。

IIS のワーカープロセス自体に権限設定する場合

対象のフォルダーのプロパティ→セキュリティ→編集→追加で、「ホスト名\IIS_IUSRS」を入力すれば良いです。

ホスト名を付けないとユーザー名を解決できません。また、「IUSERS」ではなく「IUSRS」であることに注意。

アプリケーションプール単位で権限を設定する場合

上記同様、対象のフォルダーのプロパティ→セキュリティ→編集→追加で「IIS AppPool\アプリケーションプール名」を入力すれば良いです。

権限の範囲をなるべく狭くという意味でアプリケーションプール単位のほうがベターなんじゃないでしょうか。

WSL の Ubuntu から markdown-pdf を使う

ちょっとしたドキュメント書く際に Word もだるいなぁと思って、なんかテキスト形式で書いて PDF 変換できるやつないかなぁと探したところ markdown-pdf なるものがありました。

Pandoc で Word 化という手もありますが、以前試したときフォントとスタイルがだいぶ残念な感じだったので(調査不足かもしれない)こちらを試してみます。

WSL からインストール

今の Windows には WSL という便利なものがありますので、 WSL ( Ubuntu )のターミナルを開いて粛々と npm install します。 -g オプション付けるとグローバルにインストールされます。事前に npm 自体をインストールしておく必要がありますが、それについては割愛。

なお、インストール時にパーミッションエラーが発生する場合(発生した)、デフォルトのインストール先を変更すると良いようです。下記の通り、 npm config set prefix '~/.npm-global' してパスを通しておきました。

これで markdown-pdf が使えるようになりました。

$ markdown-pdf --version
8.1.1

libfontconfig.so.1 がない

いざ markdown-pdf を実行してみるとこんなエラーが出ました。

error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory

fontconfig とかいうやつがないっぽいのでインストールします。

$ sudo apt-get install fontconfig

これで PDF 出力ができるようになります。

$ markdown-pdf sample.md

日本語が出力されない

PDF は出力できるようになったんですけど、日本語が出力されません。 Ubuntu 上に日本語フォントがないためと思われます。

日本語フォントインストールするかーと思ったんですが、 Windows 側のフォントをシンボリックリンクUbuntu 側に認識させられるっぽいのでそっちで対応します。なかなかワイルドな感じですが、メイリオとか使えたほうがいいですしね。フォントのライセンス的にはどうなんだろうな・・・。

$ sudo ln -s /mnt/c/Windows/Fonts /usr/share/fonts/windows
$ sudo fc-cache -fv

とりあえずこんな感じの CSS を作って、

body {
    font-family: meiryo;
}

-s オプションで読み込ませます。

$ markdown-pdf sample.md -s sample.css

これで日本語フォント込みの PDF が出力できるようになりました。

アニサキスにあたった( 3 年連続 3 回目)

アニサキスにあたってひどい目にあったので記録を残しておこうと思います。

これで 3 年連続 3 回目です。 1 回目は 2 年前の冬に小田原の寿司屋で食べた寿司で、 2 回目は去年の春にスーパーで買ったカツオの柵がおそらく原因でした。 1 回目は診断こそおりていないものの症状的に同様、 2 回目は胃カメラで痕跡が見つかったのでほぼ間違いないです。

症状

夜中の 3 時ごろ、突然の吐き気で目が覚めました。あわててトイレに駆け込み、吐きはしなかったものの、水のような唾液?がだらだら出てきます。ここまで 2 年連続であたっている経験から「あっこの感じ、前やったやつだ」と脳内の進研ゼミが囁きました。

吐き気が治まったのでとりあえず太田胃散飲んで寝ようと思ったのですが、今度はなんだか手のひらが痒い。続いて鼻のあたりがなんだかドクドクと脈打ち、腫れてきているような感覚を覚えました。また起きて手を洗い、鼻の腫れは保冷剤を当ててしばらく冷やし続けました。アレルギーっぽい。これは未経験。

そうこうしているうちに夜が明けてきました。痒みと腫れがどうにか治まってきたので寝ようと思いましたが、今度は胃が痛い。激痛とまではいかないものの、顔をしかめる程度の痛みが断続的にやってきます。結局眠れたのか眠れてないのかよくわからないまま朝を迎え、痛みに耐えつつ病院に直行しました。

病院にて

先生に症状と前日の夜に食べたものを伝えたところアニサキスの可能性が高いとのことで、血液検査と点滴を受けたあと、胃カメラでした。案の定胃の中に 2 箇所ほど痕跡があり、 1 匹が摘出されました。もう 1 匹いたようですが見つからず、先生曰く「流れて行っちゃったのかも」とのこと。

原因

原因はほぼ確実に夕飯にスーパーで買ったアジのたたきと思われます。半身分ぐらいの量を半分食べただけで 2 匹とは、どれだけ運が悪いのか。

その後の経過

ネットで調べるとアニサキスは摘出すればすぐ痛みが治まるらしいのですが、摘出後もその日はずっと胃が痛かったですね。病院にいる時は痛みは治まってたのですが。

その日はやらなきゃいけない仕事があったので午後から出勤し、片付けたら即帰宅しました。こういう時裁量労働制はありがたい。

帰宅して横になってても全く楽にならなかったのですが、夕飯を食べて薬飲んだら痛みは治まったので、ろくに食べてなかったのが悪かったのかもしれません(昼と夕方に食パン 1 枚ずつ食べただけ)。それか、まだどこかに虫が残っていたのかも。

その日の夜は微妙に胃の気持ち悪さはあるものの、さして痛みはなく、どうにか眠れました。翌日からは胃の痛みはほぼなくなりましたが、腸のあたりにたまに痛みと違和感がありました。

数日経過しましたが、今では若干胃の違和感があるかもないかもぐらいで、おおよそ平常運転に戻った感じです。ただ胃に胃潰瘍的なダメージを受けたため、医者から 2 週間は消化に悪いものや酒を禁止されました。悲しいことにしばらく酒が飲めません。

まぁ、最近やや飲み過ぎだったので神が与え給うた休肝期間ということにします。医療費で 2 万程度飛んでいったのは非常に懐が痛いですが・・・。

しかし、 3 回目ともなるとさすがにもう魚食べるのが怖いですね。しかも今回が一番重症でした。過去のものは吐き気のあとは普通に眠れましたし、空腹時に胃が痛いぐらいで、今回ほどの強い痛みやアレルギーっぽい症状が出た記憶はないです。

これどうやったら防げるんでしょう?てかこんなにあたる人いるのか?また、アニサキスアナフィラキシーを起こすこともあるとかで、その場合死骸でもアウトらしいです。ほんとどうすれば?