2021-04-26
コロナ禍において買って良かった物・持っていて良かった物
在宅で仕事 (Work From Home, WFH) をするようになり、1年ほど経った。
買っておいて良かった物、新たに買って良かった物を紹介する。
食器洗い機
パナソニック製のNP-TCB1を、コロナ前、就職してから少し経った頃に買った。 大学時代は大学近くに安価な飲食店が多かったため外食がほとんどだったが、就職して外食が割高になって自炊する機会がやや増えた。食器洗いが面倒だったので、購入した。 コロナ禍で自宅で料理・食事することが増えたので、重宝している。 2-3人用を1人で使用しているが、料理時に具材を入れるのに食器を使ったなど、複数種類の大きめの食器があると一度には入り切らない。大きめの食洗機を買うか、並べて入れられるように形の揃った食器を使うのが良いだろう。 私が購入したのは乾燥機能なしの最も安価なモデルだ。 食器を洗う際には90度程度の温水を使用するので、食器洗いが完了してすぐに扉を開けておくことで、乾燥機能は必要ない。 外出時に食器洗いを開始するような使い方をする場合には、乾燥機能が着いている方が良いと思う。また、Panasonicの最上位モデル NP-TZ300 には自動で扉を開ける機能がついているらしい。ロボット掃除機
普段いる場所は綺麗な方が気分が良いが、自分で掃除機をかけるのは面倒だ。WFHが始まってしばらく経ってから、部屋を綺麗に保つためにロボット掃除機Eufy L70を購入した。 L70はLIDARによるSLAM (Simultaneous Localization and Mapping) 技術が使われているロボット掃除機の中では比較的安価だったので、これを購入した。地図を作成・更新しながら動き回る様子を見ていると楽しい。掃除後にvacuum containerを取り出し、どれだけ掃除したのかを確かめながら掃除機でゴミを吸い取るようにしている。 L70で十分な機能があると思うが、Roomba i7はさらに高機能らしい。 L70は曜日・時刻を指定して掃除する機能 (schedules) や部屋の場所を指定して掃除する機能 (zone clean) がついている。i7はこの組合せで、指定した時刻に特定の場所だけを掃除するなどもできるらしい。 また、L70を使っていて気になるのは、掃除中に部屋の敷居を何度も踏み越えることだ。敷居に傷がつかないかと心配になる。空気清浄機
昼間は天気・花粉・黄砂情報を確かめて換気するが、部屋の埃や花粉の対策で空気清浄機を使用している。 花粉やカビの胞子、PM2.5を捕捉できるよう、HEPAフィルターがついているものを選んだ。アーモンド
この記事を読んで、アーモンドを間食用に購入するようになった。Amamzonギフト券のチャージ
銀行振込の支払によってまとめてチャージすると、最大で2% (Prime会員で無い場合) のポイントが1ヶ月ほど経ってから付与される。 高額な商品をAmazonで買ったとき (上記の掃除機のこと)、Amazon Primeの無料体験と組合せてこの方法を使った。 クレジットカード払いとは異なり1-2ヶ月ほど早く支払うことにはなるが、私が使っているクレジットカードでは1%しかポイントがつかないので、1%分多くポイントがつく。2ヶ月で+1%の利率を年に換算すると6%/年になるので、メリットがあると判断した。某証券会社で株式信用取引をすると3%ほどの利率がかかるが、それよりも良い。 さほど多く使用しないなら、Amazon Mastercardクラッシックで1.5%のポイント取得をねらうのが良いだろう。その他
2021-04-17
DHCP classless static routesを使用したグローバルIPアドレスによるローカルサーバ接続
はじめに
自宅サーバーを運営していて、LANからもサーバーにアクセスしたい場合は、LAN向けにDNSサーバーを立てる方法がよく取られる。 これは、LANの接続点が1個のルーターであり、このルーター上でNATにより自宅サーバーへのアクセスをLANアドレスへ変換するようなネットワーク設定で取られる方法である。 この方法では、DNSサーバーで、自宅サーバーのホスト名を引いた時にLAN内のローカルアドレスを指すように設定しておく。 しかしながら、この方法では、携帯電話などでLANからWANへと移動した際に、古いアドレスがキャッシュに残っていてすぐには名前解決できなくなる。 ルーターによっては、このような設定を行わなくても、WANアドレスでのアクセスもNATでアドレス変換してくれることがあるが、いくつかのルーターではそのようなことができない。 この記事では、上記の問題を回避する別の方法を紹介する。 LAN上でホストにIPアドレスを割り振る際にDHCPを使用するが、DHCPのオプション121で静的ルーティングテーブルを送ることができる。 サーバーのアドレスが頻繁には変更されない場合、ルーティングテーブルを送りつけることで、自宅サーバーのグローバルIPアドレスをクライアント側で実際のサーバーへルーティングすることができ、グローバルIPアドレスのままで自宅サーバーへ接続できるようになる。Dnsmasq
今回の記事では、DHCPサーバーとしてdnsmasqを使用する。 サーバーのグローバルIPアドレスが203.0.113.40で、LAN上でのサーバーアドレスが192.168.0.2である場合、以下のように/etc/dnsmasq.confに設定する。
dhcp-option=203.0.113.40/32,192.168.0.2
ネットワークデバイスの設定
雑な方法だが、NICにグローバルIPアドレスを追加すると、203.0.113.40宛のパケットが自身宛だと思い込み、通信出来るようになる。sudo ip addr add 203.0.113.40/32 dev enp11s0
クライアント側での確認
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 eth1 203.0.113.40 192.168.0.2 255.255.255.255 UGH 100 0 0 eth1 192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth1
2021-01-30
FFplay disappears when loosing focus
デュアルディスプレイ環境で、片方にffplayで動画を再生しもう一方で作業しようとすると、ffplayがフォーカスを失ったときにウィンドウが消えるという問題に遭遇した。
この原因は、
SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSSというヒントが設定されているためで、これを無効にすればよい。
以下のようにffplay.cに1行加えることで、問題を解決できた。
diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index 9ff0425163..2e3d7a18cc 100644
--- a/fftools/ffplay.c
+++ b/fftools/ffplay.c
@@ -3755,6 +3755,7 @@ int main(int argc, char **argv)
flags |= SDL_WINDOW_RESIZABLE;
window = SDL_CreateWindow(program_name, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, default_width, default_height, flags);
SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear");
+ SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, "0");
if (window) {
renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
if (!renderer) {
2020-12-22
動画ファイルのキーフレーム間隔を調べる方法
Stackoveflowのこの記事で、動画ファイル中のキーフレームの時刻を表示するサンプルが示されていた。
これを参考に、キーフレーム間隔を調べる方法をメモする。
入力ファイルを
input.mp4とすると、FFprobeとawkを使って以下のコマンドにより、キーフレーム間隔を調べることができる。
ffprobe -loglevel error -select_streams v:0 -show_entries packet=pts_time,flags -of csv=print_section=0 input.mp4 | awk -F',' '/K/ {print $1-prev; prev=$1}' | sort | uniq -c
出力は、間隔でソートし、それぞれの出現回数をuniqのオプション-cで表示する。
2020-12-15
Git-grepで特定のファイル名のファイルを除いて検索する方法
Git-grepを使うとレポジトリに登録されているファイルの中でgrepを行うことができる。
このとき、特定のファイルを除いて検索することができる。
例えば、拡張子が
.iniのファイルを除いてScreenshotを探す場合、
$ git grep Screenshot UI ':!*.ini'と、
:!に続いて除外するファイル名を書く。
2020-12-10
CentOS8でグラフィカルログインを有効にする
手順
gdmをインストールして、getty@tty1を無効に設定すれば良い。
$ sudo dnf install gdm $ systemctl set-default graphical.target
メモ
gdmをインストールするだけでは、gdmが有効になっているにも関わらず、gdmが起動しなかった。
登録:
投稿 (Atom)