d.sunnyone.org
sunnyone.org

ページ

2021-08-22

Ubuntu + SoftFM でFMステレオを受信する

RTL2832U + R820T2 のDVB-Tチューナを使うと、FMラジオが聞けるらしいということで買ってあったのだけど、久々にFMラジオが聴きたい機会がでてきたのでやってみた。 RTL-SDR についているrtl_fmというツールを使う話はよくあるのだけど、FMステレオ非対応なので、今回はSoftFMというツールを使ってみた。

インストール

依存パッケージをインストールする。
$ apt install build-essential cmake libasound2-dev librtlsdr-dev
/lib/udev/rules.d/60-librtlsdr0.rulesによると、デバイスを差し込むとplugdevというグループで使えるようになるようなので、 ユーザーをplugdevグループに追加する。
$ sudo usermod -aG plugdev foouser
SoftFMを https://github.com/jorisvr/SoftFM からgit cloneしてビルド
$ git clone https://github.com/jorisvr/SoftFM
$ cd SoftFM
$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

使い方

softfm -f [freq]で受信できる。TOKYO FMならこんなかんじ。
$ softfm -f 80000000
softfm -f 79950000のほうが音質が良かったりするので試してみたほうがいいかも。-Wでファイルに吐けるが時間指定はなさそうなので、指定したければこんなかんじ。
$ timeout 60 softfm -f 80000000 -W tokyofm.wav

2021-07-04

Ryzen 5 5600X でPCを組んだ

速いメインPCが欲しくなったのでPCを組んだ。

構成は以下の通り。ハイエンドって言うほどじゃないと思うんだけど、こんな高いPCを組んだのは初めて。

M/BASRock B550M-ITX/ac
CPUAMD Ryzen 5 5600X (6core/12thread)
メモリCrucial CT2K16G4DF8832A (UDIMM DDR4-3200 16GBx2)
GPUELSA GeForce RTX 3070 S.A.C
SSDWD BLACK SN850 NVMe SSD 1TB (PCIe Gen4 NVMe SSD)
ケースCooler Master MasterBox NR200 Black
電源Cooler Master V750 SFX Gold MPY7501SFHAGVJP
ケースファンCooler Master MasterFan SF120M x2
CPUクーラーNoctua NH-U9S

sysbenchの出す値が昔と変わってしまったので比較できないのだけど、やっぱり速い。コンパイル速度はDeskMini A300のときの倍くらい。 CPUだけじゃなくて、SSDがPCIe Gen4になったというのも大きそうだけど。

 ワットモニター読みで、回したときに250Wくらい。省エネPCばかり見てるとびっくりする数字。

2021-05-11

<List.Item> スタイルのコンポーネントの定義

Reactでリストのコンポーネントを定義するとき、liの持たせ方だったりアイテムのネーミングだったりで作りにちょっと悩んだりするのだが、HogeList / HogeList.Itemの形にするとあまり考えなくてよくなるので便利。

 参考: React で <Stack.Item> みたいな作り方の使い所を考える

ShopifyのものはReact.VFCを使っていないので、使ったもののメモを残しておく。

定義するところ

使うところ

2021-04-14

css-loader の camelCase オプションの行方

微妙に違うオプション名が出てくることがあるので調べたらこんな感じらしい。 また調べなくて良いようにメモ。

バージョン名前備考
v4.0.0 modules.exportLocalsConvention README / Release
v3.0.0 localsConvention README / Release
(v2.1.1とv3.0.0の間) exportLocalsStyle README / commit ※1
v1.0.0 camelCase README / Release
それ以前 camelcase
※1: 「exportLocalsStyle」は気にしなくてもよいはずだが、v3.0.0のBREAKING CHANGESで唐突に「exportLocalsStyle option was remove in favor localsConvention option」と出てくるので「camelCase」とつながらない

2021-03-31

node/browser環境での重複確認用ハッシュ文字列生成メモ

emotionのdata-属性で使っているような値が欲しかった。 emotionは@emotion/hashとして持っているものの、内部用かなぁと思うのでmurmurhashを使ってみた。 TextEncoderを使っているので環境によりpolyfillが必要。
import murmurhash from "murmurhash";

function hashString(s) {
    return murmurhash.v3(s).toString(36);
}

console.log(hashString("hfogfffe")); // 6bmwh9
参考

2021-02-12

Loqui 0.7.0 リリース

Gtk3に対応したLoqui 0.7.0をリリースしました。 

 https://github.com/sunnyone/loqui/releases 

微妙に見た目が違うのですが、まずは動くのが大事だと思ったのでリリースしました。何かおかしかったら教えてください。 

レポジトリはLaunchPadからGitHubに移動しました。本当はActionsでビルドできるようにしようかなと思ったのですが、結構手間がかかりそうなのでとりあえずパス。 

gtk2から3の変更点はここに書いている通りで、deprecatedを許容すれば、基本的には機械的に変えていけばいいものばかりなんですが、CSSでスタイリングするようになったためなのか、サイズを変えてるような処理のところがちょっと形を変えないといけないかなという感じです。