d.sunnyone.org
sunnyone.org

ページ

2023-03-21

YAPC::Kyoto 2023に参加してきました

京都観光も兼ねて、YAPC::Kyoto 2023に参加してきました。面白かった。遠征でのカンファレンスの参加は人生初なので、そういう意味でも新鮮な体験だった。

印象に残ったセッション

みんな面白かったのだけど、印象に残ったのはmacopyさんのデプロイ今昔物語だった。


よくわからないホスティング環境を借りてPHP(確か4だったと思う)のプログラムを「ホームページ」に置いてみたりとか、読めないPerlを書いて自分で困ったりしていた時代を思い出して、原点に帰った気分になれてとてもよかった。

遠征での学び

日曜日にYAPCで、京都にせっかく行くのだから土曜日は観光しようと決めていて、土曜日に観光するなら朝から行けたほうがいいよねということで金曜日に行って泊まり、日曜日遅くなるかもしれないから月曜日に帰ろうということで、結果3泊4日になった。歩数計を見ると40km近く歩いていることになっているので、結構満喫したと思う。

旅程に合わせてホテルを変えたので、服は洗濯しちゃえば運ぶの楽じゃないか?と思ってチャレンジしてみたものの、旅から帰ってきたあとコインランドリーに行き来して洗濯するのは結構しんどいというのは学びだった。洗濯と乾燥が一緒ならいいのにな~

荷物まわりはuzullaさんがテクニックをまとめてくれているので、今度参考にして楽をしたい。

俺的!遠方カンファレンスの参加体験向上テク 2023最新版 - uzullaがブログ https://uzulla.hateblo.jp/entry/2023/03/21/132421


2022-12-31

自室作業環境再構築(2022)

もともとリモートワーク的に作業する環境はあったものの、机にガタが来たのをきっかけに見直しをして作り直したので、その環境のメモ。もう数ヶ月前なのでちょっと情報が古かったりするのだけど、部屋の環境を作るときの参考になれば。

家具

デスク: FlexiSpot E8 (+ 120cm 天板)

まずはデスクから。今までのデスクはキーボードの棚を引き出して使って、上にプリンタ棚があるいわゆるPCデスクという感じ。地震でキーボードの棚が引き出せなくなったことをきっかけにサイズを測ってみたら幅100cm/奥行き50cmしかなくてなるほどこれは狭いなと。

いっそデスクは新調しようということで調べてみると、高さが調整できたほうが良さそうだなというところには来て、電動昇降をありにするか迷っていたのだけど、使っている人にヒアリングしてみると、ずっとそこで仕事するなら切り替えになって良いという話を聞いたので、まあ机はケチるところではないし買ってみようかと思い電動昇降つきを選択。

機種としては、昇降デスクの定番らしいFlexiSpotのメインストリーム系であろうE8を選択。120cm天板/ウォールナット色をセットで追加。

実際に使ってみると、新しい体験で面白かった。スタンディングであまり作業してはないのだけど、細かい調整が気軽にできたり、配線なんかのときに持ち上げて作業できるのは嬉しい。どの程度活用されていくかは未知数だけど、らしい使い方を探していくことを含めて楽しそうだと思う。

ちょっとがっかりだったのがウォールナットの色がだいぶ赤っぽかったこと。現物を確認できなかったので、仕方がないけど、暗めの茶色にしたかったので、セットだと他の選択肢はなかった。結局電動ユニットやコントローラは木ねじで止めるので板はなんでもよく、こだわるならかなでものというところの天板を合わせるのがテンプレみたい。サンプルを注文できるみたいだし、選ぶ手間とコスト感が合えばそのほうがいいかも。ホームセンターで板を買ってきてDIYする人もいるらしい。

あとは幅について。100cmから120cmになってだいぶよくなったが、まだちょっと狭い。140cmを置けないことはなかったから140cmにしたほうが良かったかなと思いつつ、今の環境だと無理やり感出るからこれでもよかったかな、みたいな、サイズに関してはちょっとモヤっとする感じになってはいる。奥行きについては10cm伸びたのと、モニターアームをつけたこともあって結構いい感じにはなった。

PCワゴン: 30cm✕60cmで天板が昇降するやつ

PCは台車に乗せてデスクの下に置こうと思ったのだけど、120cmの幅だとだいぶ狭くなってしまう。仕方がないので横に置くことにしたのだけど、PCの上が棚になっていれば実質デスクを幅広く使えるのでは?ということで、天板を昇降できるPCワゴンをAmazonの森をかき分けて探してきた。結果座っている側の高さにあわせるといい感じにデスクを延長できている。

下に入れる場合でもPCワゴンいろいろあるみたいだから、フィットするのを探してみるのもいいかも? 

ケーブルトレー: クランプ式/ワイヤータイプの40cm✕2セットのもの

デスクが昇降するので、卓上↔床の配線はなるべく少なくしたい。となると、天板側になんとかしてケーブルを持ってくる必要がある。そのためにケーブルトレーというものがあって、形がいろいろあるのだけど、こだわりがないので、Amazonの森をかき分けて2個セットなのにセールで1.5kというものを見つけたので購入。

手軽そうだったのでクランプ式を選んだのだけど、どうせネジ止めしているので、ネジ式でも良いとは思う。ただ、モニターアームのクランプと干渉しない位置に設置する必要があるので、そのときに融通が効きやすいものを選択するのが良いとは思う。

椅子:REC-128AX

20年前くらいに買った手動昇降つきでメッシュ背面なオフィスチェア。いいやつがあれば置き換えるかもしれない。

長く使っているから座面の合皮がやぶれてはがれてしまったのだけど、合皮補修シートを使って直したらいい感じに戻った。

タイルカーペット: サンゲツ スタイルキットループ

昔から使ってたニトリの安いパズルマットと比べると圧倒的に良くて、ずれないし質感も良い。素直におすすめできる。

定価は40x40で800円/枚くらいだけど、楽天で500円/枚くらいのところがあった。サンプルも送ってもらえるので、試してみると良いかも。

デスクの寿命から派生した環境再構築のPCまわり編。デスクが変わったので、PCまわりもいろいろ不便だった部分を直した。

PC周り

モニタ: I-O DATA LCD-GCWQ341XDB

モニタは34インチ ウルトラワイドモニタ(UWQHD: 3440x1440)を選択。これは正解だった。

モニタは6年くらい前に買った27インチ4Kのモニタ(LG 27UD58P-B)と15インチ4Kのモバイルディスプレイを使っていたのだけど、27インチ 4K はdot by dotで使うと163ppiと、21インチ フルHDの105ppiと比べると圧倒的に細かくてスケーリングしないと使えない。

現実的に使おうとするとWQHD (2560x1440) 相当が109ppiなので、150%スケーリングしたいところなのだが、XOrg環境はまだ浮動少数スケーリングが得意じゃないので、200%でフォントサイズを調整して使っていた。

フルHD (1920x1080)x3の環境に慣れているので、なるべく広く取りたいのだけど、4Kも 200% にするとフルHDになってしまって、全く広くなくなっていた。

24インチ WQHD(2560x1440)を2つ並べるか?いや122ppiは細かすぎる、WUXGA (1920x1200)を2つしかないか?などと考えていたところ、34インチ UWQHD(3440x1440)の存在に気づき、選択した結果ちょうどいい感じになった。

湾曲でないほうがいいかなと思ったのだけど、使ってみてるとそんな困らない気もする。経験したので、今選ぶならまた違った選択肢になりそう。

サブモニタ: EVICIV 15.6インチ モバイルディスプレイ 4K

前に買ったやつを34インチモニタの上につけている。チャットアプリやターミナルを置いたりしているが、必要なときに見上げて使うのはちょっと辛いのでなんとかしたいところ。

モニターアーム(メイン用): エルゴトロンLX

悩むくらいならこれ選んでおけという感じで出てくるが、実際使ってみて納得。 強いし、調整もしやすい。あまり動かさないからこれでなくてもいいのではとも思うけど、わざわざ他を選ぶほどのことでもない印象。

モニターアーム(サブ用): Bracwiser PCモニターアーム + エルゴトロン クイックリリースブラケット

モバイルディスプレイ用のアーム。重いものではないから安いやつでいいものの、メインモニタの上に配置するから高さがあるものということで選んだ。ただ、モバイルディスプレイはヘッドレスなPCのメンテ用でもあるからモニタ側に取り外し可能にするブラケットをつけて外せるようにした。

スピーカー: EDIFIER R19U2

今まで使っていたスピーカーは置きにくくケーブルの取り回しが大変で、もうちょっと音がいいやつが欲しいなと思ったのでリーズナブルで便利そうなやつを買った。4000円くらいなので音はすごくいいわけではないけど、この値段なら納得できるし、見た目も悪くない。 Amazonを見たら一緒に比較検討してたJBL Pebblesが6264円なので、たいていはこっちでいいと思う。音質はこっちのほうが良い。ただ、スピーカー本体にボリュームノブがついてないので、その意味ではR19Uのほうが便利。

マイク: マランツ M4U

昔から使っているもの。マイク〜って形をしている。 3000円くらいのくせに、もろもろの付属なんかに比べるとずっと音質が良いのでおすすめ。

マイクスタンド: anctarc マイクスタンド

USB Type-C 充電器: Baseus PD 充電器 65W 6-IN-1 1250W 電源タップ

机の上にUSB PDの口とAC 100Vの口を出すために買った。サイズ感、配置の安定感なんかがよくてこれは正解。65Wで十分かどうかは注意だけど、足りないなら100Vの口から増やすのもあり。

USBハブ: ORICO USB3.0 ハブ 4ポート

これはハズレ。クランプで止めるのはいいけど、やっぱりバスパワーはつらそう。デバイスの認識がぱたぱたする。

工具

電動ドリル: makita DF033DZ

FlexiSpotは電動ドリルで木ねじを締めることを期待しているので、電動ドリルを買った。makitaの掃除機を持っていて、そこで10.8Vのバッテリーを使っているので、それに合わせてmakitaの10.8Vバッテリーを使う電動ドリルを買った。ご家庭にmakita色のものが増えるのは不思議な感じだけど、安心感がある。

makitaの工具的には14.4Vバッテリーが今の主力のようで、バッテリーの前提がなければそこから選ぶのが良いと思う。3kくらいの安いやつを選んでしまっても良い気もするけど。

今までの机を解体するときに便利かなと思って買った六角ドリルピットがほかでも使えてすごく便利だった。併せて買うと良いかも。

作業

デスクまわりほぼ一式作ったのでだいぶ疲れた。本当は既存環境も一応維持してBlue/Green的に構築しようと思ったのだけど、作業エリアのことを考えてなくて、結局復帰までPCまわりが使えなくなってしまった。

一気に注文したわけではなく、順番に頼んでいったのだけど、出来上がっていくのを見ながら軌道修正できたのでこれは正解だった。例えばPCワゴンなんか最初の設計にはなかった。建築にアジャイル要素は難しいよなと思っていたのだけど、活きる部分もあるなと思った。翌日到着するいまの通販インフラさまさまだけど。

参考

 設計にあたりリモートワークとスタンディングデスクや周辺事情 - tech.guitarrapc.cómには大いに参考になった。感謝。

 

2022-11-03

PulseAudioのデバイス接続時自動切替とデフォルト入出力の設定

Ubuntuを再起動すると入力デバイスが変わって音が拾えなくなる問題が起きていたのだけど、デバイス接続時にPulseAudioがデフォルトデバイスを自動切り替えする機能を切ればよくなりそうなので、無効にする方法をメモしておく(この環境では結果的にUSBオーディオデバイスがいくつもぶら下がっている形になっているので、認識順やつないでいる状態で順番が変わったりするのだと思う。バスパワーのハブにつながったカメラが怪しい)

PulseAudio 自動切り替えの無効化

自動切り替えを無効化するには、/etc/pulse/default.pa のmodule-switch-on-connectの記述をコメントアウトする。

### Use hot-plugged devices like Bluetooth or USB automatically (LP: #1702794)
##.ifexists module-switch-on-connect.so
##load-module module-switch-on-connect
##.endif 

デフォルト入出力デバイスの設定

これの前はデフォルトの設定を変える方法を試していたので、それも併せてメモしておく。

1. デバイスのnameを探す

汎用的には、pacmd list-sources / pacmd list-sinks でデバイスのname:を探す。
$ pacmd list-sources
(略)
  * index: 8
        name: <alsa_input.usb-C-Media_Electronics_Inc._MARANTZ_M4U_20190520-00.mono-fallback>
(略)

ここで出てきたname: を後で使う。アスタリスクは今デフォルトに選ばれているもの。

GNOMEの設定の「サウンド」で選択していれば、pactl get-default-source / get-default-sinkでも得られる。

$ pactl get-default-source
alsa_input.usb-C-Media_Electronics_Inc._MARANTZ_M4U_20190520-00.mono-fallback

2. 設定ファイルに記述する

/etc/pulse/default.pa.d/00-default-device.conf に以下のように記述する。
set-default-source alsa_input.usb-C-Media_Electronics_Inc._MARANTZ_M4U_20190520-00.mono-fallback
set-default-sink alsa_output.usb-Resonessence_Labs_Resonessence_Labs_HERUS-00.iec958-stereo
なお、pactlコマンドでも変えることができるので、シェルスクリプトに書くのも可。
$ pactl set-default-source alsa_input.usb-C-Media_Electronics_Inc._MARANTZ_M4U_20190520-00.mono-fallback

参考

安定のArchWiki。

PulseAudio/サンプル - ArchWiki

2021-12-17

React Transition Group と class の状態

 React Transition Group CSSTransition はtransitionのためのclassをelementに付与してくれるのだけど、使う機会があるたびにどういう状態があるのか思い出してる気がするので、図にしておくことにした。



2021-09-22

Linux/Windowsデュアルブート環境のインストール方針

自分のWindows PCはLinux (Ubuntu) をインストールしてデュアルブートにすることが多い。 端末のタイプによってインストールの仕方が異なり、このやりかたが参考になるかもしれないので書いておく。
  1. 空のディスクが複数ある場合→1台ずつWindows, Linuxとインストール
  2. 空のディスクが1つのみの場合→Windowsをインストール後空いたところにLinuxをインストール
  3. Windowsが入ったディスクがある場合→パーティションを縮小してLinuxをインストール

空のディスクが複数ある場合

複数のディスクがPCに搭載できる/したい場合、それぞれにインストールする。まずWindowsをひとつのディスクにインストールしてから、別のディスクにLinuxをインストールする。 一番無難なかたち。

この場合では、データの受け渡しをするためのNTFSパーティションをLinux側のディスクにちょろっと用意しておくと、Windows側のCドライブをマウントしなくてよくて便利だったりする (NTFSマウントはなんだかんだあることがあるので)

空のディスクが1つのみの場合

ディスクが1つのみの場合、Windowsインストール時に容量を指定して(例えば半分)パーティションを作成し、インストール後、 空いた領域にLinuxをインストールする。 手元にあるPCがこのパターンで、こんな構成。

ディスク /dev/nvme0n1: 931.53 GiB, 1000204886016 バイト, 1953525168 セクタ
Disk model: WDS100T1X0E-00AFY0                      
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: gpt
ディスク識別子: B1EA5819-908C-4E4F-8542-CCBD4314BXXX

デバイス        開始位置   最後から    セクタ サイズ タイプ
/dev/nvme0n1p1      2048     206847    204800   100M EFI システム
/dev/nvme0n1p2    206848     239615     32768    16M Microsoft 予約領域
/dev/nvme0n1p3    239616  818331110 818091495 390.1G Microsoft 基本データ
/dev/nvme0n1p4 818331648  819437567   1105920   540M Windows リカバリ環境
/dev/nvme0n1p5 819437568 1600688127 781250560 372.5G Linux ファイルシステム

この順番の理由は、Windowsが作る予約領域をきちんと作成したいというのと、ブートローダ(grub)を持つのはLinuxになるため。

Windowsが入ったディスクがある場合

ノートPCなど、最初からWindowsが入ったディスクの場合、まず回復ディスクを作成し、 その後Windowsのディスクの管理からボリュームを縮小、空のディスクが1つのときと同様に空いた領域にLinuxをインストールする。

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ばかり見てるとびっくりする数字。