• 150 Posts
  • 89 Comments
Joined 2Y ago
cake
Cake day: Dec 15, 2020

help-circle
rss
前回はdockerコンテナのPyTorchからCUDAを使える状態にした。今回はStable Diffusionが使えるコンテナをビルドするDockerファイルやスクリプトを色々用意した。

Windows 11 で WSL2で nvidia-docker2 の PyTorch コンテナからCUDAを使える状態にする。
## CUDAドライバのインストール https://developer.nvidia.com/cuda/wsl 先に入れておかないと nvidia-docker2 のインストール時に怒られる。 とりあえず最新で。 ## Windows 11 のWSL2にubuntuを入れる PowerShellを「管理者として実行」。 ### WSLで使うLinuxのインストール - `wsl.exe --install -d ubuntu` ubuntuの窓が開いてubuntu上のユーザ名とパスワードを尋ねられる。 ### WSLの更新 - `wsl.exe --update` ## ubuntuのユーザにdocker操作権限を付与 スタートメニュー等からubuntuのプロンプトを開いて以下を実行。 ``` sudo gpasswd -a $(whoami) docker sudo chgrp docker /var/run/docker.sock sudo service docker restart ``` ## Dockerコマンドのインストール スタートメニュー等からubuntuのプロンプトを開いて以下を実行。 - `curl https://get.docker.com | sudo sh` ## aptにnvidiaのリポジトリを追加 スタートメニュー等からubuntuのプロンプトを開いて以下を実行。 ``` distribution=$(. /etc/os-release;echo $ID$VERSION_ID) echo $distribution curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list ``` distributionは "ubuntu20.04" になるが、中身は ubuntu18.04 と同じようだった。 ## nvidia-docker2 をインストール スタートメニュー等からubuntuのプロンプトを開いて以下を実行。 ``` sudo apt-get update sudo apt-get install -y nvidia-docker2 ``` 警告メッセージが出てた。`/sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link` エラーではなく警告なので、インストール自体は完了している。 ## dockerの起動 スタートメニュー等からubuntuのプロンプトを開いて以下を実行。 ``` sudo service docker start sudo service docker sttus ``` ## nvidiaのpytorchコンテナのバージョンを調べる https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch 左側の「Latest tag」を見る。試したときは 22.08-py3 だった ## pytorchコンテナの起動 ubuntuのプロンプト上でdockerコマンドを使う。 - コンテナ指定のバージョン部分は上で調べた数字を使う。 - `--shm-size=8g` の部分は処理内容に応じて適時調節。 `docker run --gpus all -it --rm --shm-size=8g nvcr.io/nvidia/pytorch:22.08-py3` dockerコンテナが起動してコンテナ上のbashに入力できるようになる ## 動作確認 試しにGPUを認識できているか表示してみる。 `nvidia-smi` pytorch を起動してみる。 `python -c 'import torch; print(torch.cuda.is_available())'`


スクリプトからLemmyに画像付き投稿を投げるテスト
### 本家にある説明 https://join-lemmy.org/docs/en/client_development/http_api_extras.html#images ### WebUIで画像を添付した際の挙動 https://mastodon.juggler.jp/@tateisu/108832134849077396 ### スクリプトから同じことをする https://gist.github.com/tateisu/b71e42af44038c4262b1ebb62465930c ### pictrsの認証について POST https://lemmy.juggler.jp/pictrs/image の認証は、LemmyにAPIでログインすると得られるauthを使って リクエストヘッダに `Cookie: jwt=$auth` という感じでOKです。

kotlin の async と supervisorScope
async を使ってるのに例外をawaitで捕獲できずアプリが落ちる…? というのを体験した。 理由の説明はこの記事が詳しかった。 https://star-zero.medium.com/coroutines-async%E3%81%A8exception-9c0f079edb0e - 親のキャンセルは子に伝えたい - 子の例外はawait()で受け取りたい …という用途では supervisorScope{} を使うのが良さそう。 スクラッチで試してみて概ね期待どおりだった。 ``` import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Job import kotlinx.coroutines.async import kotlinx.coroutines.awaitAll import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking import kotlinx.coroutines.supervisorScope import java.lang.Thread.sleep val scope = CoroutineScope(Job()) val job = scope.launch { try { supervisorScope { val tasks = listOf( async { try { delay(333L) error("Test") } catch (ex: Throwable) { println("catch ex in async. ${ex.message}") throw ex } } ) try { tasks.awaitAll() } catch (ex: Throwable) { println("catch ex in awaitAll. ${ex.message}") throw ex } println("awaitAll complete.") } println("supervisorScope complete.") } catch (ex: Throwable) { println("catch ex in launch. ${ex.message}") ex.printStackTrace() } println("launch complete.") } sleep(100L) runBlocking { // async内部からの例外発生を試したい場合 job.join() // catch ex in async. Test // catch ex in awaitAll. Test // catch ex in launch. Test // launch complete. // または、上流からのキャンセル到達を試したい場合 // job.cancelAndJoin() // catch ex in awaitAll. StandaloneCoroutine was cancelled // catch ex in async. StandaloneCoroutine was cancelled // catch ex in launch. StandaloneCoroutine was cancelled // launch complete. } println("end.") ```

suspend properties がない理由
Kotlinのコルーチンの快適さは他の言語と比べても素晴らしいものだと思う。 しかしsuspend関数と違ってsuspendプロパティは提供されていない。 要望はいくつか出ているようだ - https://discuss.kotlinlang.org/t/suspend-properties/8933 - https://discuss.kotlinlang.org/t/suspend-variables-suspend-val-suspend-var/13142/2 suspendプロパティが提供されていない理由の中でもっともらしいのはコレだろうか。 > コーディング規約では、プロパティは「計算するのに安価」である必要があり、さらに進んで、簡単な計算のみを含める必要があると述べています。 サスペンドは、このプロパティの考え方にうまく適合しません。

ソニーは旧機種を売り続けるんじゃなくて、「UXを新しくしたエントリー機」を出すコストはかけた方がいいんじゃないかな?とは思った。ソニーに親しくない層が、ソニー機を試した上で逃げてくのは機会損失なんじゃないの?


たていすさんEマウント機はコレが初めてです。普段はパナDC-S5とかDC-G9とか使ってます。 α7II、古い機種なのでこなれていないのかソニーはこういうものなのかわかりませんが色々と不満はありました。 ---- ## よかったこと - 現行の50mmマクロがある - タムロンのレンズが使える この2点のためだけにオモチャを買ったという感じ。 ---- ## 困ったこと ### 親指AFとピント拡大を併用し辛い - ピント拡大できるのはMFモードだけ。AF-SでもDMFでも使えない - 一方でMFモードはAFポイント選択ができない。AFオンできない。 - https://s.kakaku.com/bbs/K0000717585/SortID=20491786/ によるとAF/MFボタンに「押す間AF/MFコントロール」を割り当ててMFモードを使うとAFオンの代用になるが、AFポイントを選べない。 - 一度AFモードにしてAFポイント移動してからMFモードにして「押す間AF/MFコントロール」するとAFポイントが維持されている ### AEの不満点 - ISOオート下限SSがない。レンズ側手ぶれ補正を考慮せずにどんどんSSあがっちゃう - AFポイントをガン無視して測光する。マルチ、中央重点、スポット全てダメ。 - もうMモード+ISO手動で撮るしかないね ### 記録メディア内のデータの全削除がない - 基本的には全削除のかわりに再フォーマットを使うらしい。 - フォーマットがイヤな場合、メニューの再生タブでビューモードをフォルダビューにすると、メニューの再生タブの削除が「フォルダ単位の削除」になり、少し手間が減る。 - https://bbs.kakaku.com/bbs/K0001036274/SortID=23036523/ ### UXの不満点 - 撮影画面にヒストグラムと水準器を両方同時に表示できない。クソが! - ピント拡大表示を開始するのになぜかボタンを2回押す必要がある。クソが! - 再生時の拡大/縮小がダイヤルじゃなくてボタン。クソが! ### レンズによって位相差AFが効かない - 確認してみた。 https://mastodon.juggler.jp/web/@tateisu/108429334196069379 50mmF1.8だけAFやたら遅い。ウォブリング大きい。 ### 手ブレ補正あまり効かない - レンズ内補正ありのタムロン 28-200の200mmで SS1/40は欲しい感じの腕前 - (TODO)要検証 ### コーティング剥がれ - フィルタの汚れだと思ってたらコーティング剥がれだった。α7IIあるあるらしい。 ---- ## 記録 ## 2022年6月8日 - アキヨドのフィルタ貼付けサービスに出したら、「ソニー特有のコーティング剥がれの確認」と言われて、実際に該当してた。保護は必要なのでそのままフィルタ貼付けしてもらったら、作業中にコーティングを拭き取ってぱっと見ムラがない状態にしてもらえた。どんな薬品で拭いたんだろうね? 伝聞ではパーツクリーナーが効くらしいが…。 - SEL50M28 FE 50mm F2.8 Macro の中古を受け取った。 ## 2022年6月6日 - 液晶フィルタをポチる。 ## 2022年6月5日 - 清掃済みのを受け取り。バッテリーは完全放電してたらしい。 - Tamzon A071 28-200mmを買う。 - 純正バッテリーを買う。 - Kindleでムック本をポチる - ### 2022年6月4日 土曜日 - ソフマップでレンズキットを衝動買い。 - 充電器欠品。ポチる。 - 予備バッテリー互換品をポチる。 - そのままキタムラに清掃に出した。 - 50mmマクロをポチった。 - 50mm F1.8を中古で買った。 ---- ## その他 ### 28-200のワーキングディスタンス ![](https://lemmy.juggler.jp/pictrs/image/ae4f3073-6d7f-4b7c-9fd7-9d33dafe1e3c.png)
1


三脚。センターポールにギアが刻まれてて太くて短いのが欲しいけど難しいなー。 今つかってるのは表題の製品だけど、もう9年前の製品だ…



# 製品名 - [Tokina AT-X M35 PRO DX 35mm F2.8 MACRO キヤノン用](https://www.kenko-tokina.co.jp/discontinued/cat899/tokina/at-x_m35_pro_dx.html) - [smc PENTAX-DA 35mmF2.8 Macro Limited](https://www.ricoh-imaging.co.jp/japan/products/lens/k/macro/smcpentax-da-macro-35/) - [HD PENTAX-DA 35mmF2.8 Macro Limited](https://www.ricoh-imaging.co.jp/japan/products/lens/k/macro/hdpentax-da-35/) # 背景 - トキナーとペンタックスが光学系の共同開発と部品の共同調達を行ったレンズのひとつ。 - ペンタックス版はsmcが出た後、コーティングを改善したHDバージョンが出た。 # 構造 - トキナー版の方が外装が大きい。また、内筒の先のほうが外せるようになっている。フード兼フィルターアダプターらしい。 - ペンタックス版は外装が小さく、内蔵フードを手で伸ばしたり縮めたりできる。 # Lマウントボディに装着してみる - カメラボディは [Lumix DC-S5](https://panasonic.jp/dc/products/s_series/s5.html)を使った。 - DC-S5にトキナー版を装着する際は2種類のEF-Lアダプタ([Sigma MC-21](https://www.amazon.co.jp/dp/B07Q8Q6QK9/) および [Commlite CM-EF-L](https://www.amazon.co.jp/dp/B09CYQQPYN/))を試した。どちらもAFは動作しなかった。 - DC-S5にペンタックス版を装着する際は [K&F Concept PK/DA-L](https://www.amazon.co.jp/dp/B09NW2ZHTB/) アダプタを使用した。 - フルサイズボディに付けると貴重な35mm等倍マクロになる。しかしもともとAPS-C用のレンズなので、イメージサークルについて検証を行った。 - 周辺描写はフォーカス距離によって変わり、近距離だとケラレというよりは周辺減光程度で、用途によっては概ね問題ない。 - トキナー版の方が外装が大きいが、フルサイズボディに装着した際のケラレ範囲には大きな違いはないようだ。 - 後発のペンタHD版の方がコーティングの性能が良く内部反射が少ない。コントラストが高まり黒が締まり発色が良くなる。


リモートから投稿するテスト
fedilink

- ![](https://lemmy.juggler.jp/pictrs/image/cc3afe95-5332-468f-9b4c-25c97a387335.png) edelkrone DollyONE + HeadONE x2 + Tilt Kit v2 は電動卓上ドリーと電動ヘッド(雲台)のセットです。バンドルセットでDollyONE と HeadONE は 15%割引が効きます。 https://edelkrone-jp.com/pages/bundles?q=011 ## スマホアプリの使い方 ### 接続 - ![](https://lemmy.juggler.jp/pictrs/image/8692777e-e9e0-4af7-83f8-e93707534881.jpeg) ![](https://lemmy.juggler.jp/pictrs/image/3538b7d0-a8b7-4293-8c81-c6f736b1b7dd.jpeg) アプリを起動すると接続方法を選ぶ画面になります。 MANUAL PAIRRINGを選んで機器のトグルを指定してPAIR&CONNECT。 最初はうまく接続できなかったのですが、サポートに問い合わせたらアプリが更新されて解決しました。日本語で問い合わせできて対応は良かったです。 ### ポーズ画面 - ![](https://lemmy.juggler.jp/pictrs/image/8163b3fd-4384-47c1-af5d-d826b5c2ecc6.jpeg) 成功するとポーズ画面になります。画面上部の仮想パッドを動かすとドリーやヘッドが実際に動きます。ポーズを決めたら空欄のポーズを押すとそこに設定されます。 ### シーケンサー画面 - ![](https://lemmy.juggler.jp/pictrs/image/61b5a716-4e41-4d78-acf6-a799dc1e6573.jpeg) ポーズを決め終わったらシーケンサー画面でポーズ間の速度を指定して再生します。 ### 直線と円弧の切り替え - ![](https://lemmy.juggler.jp/pictrs/image/208216e1-b99b-4f42-9dcc-e28664882004.jpeg) ポーズ画面でPATH を押すと直線と円弧を選べます。SMART PATHは現時点では利用できません。円弧を選ぶと位置と角度を調整するウィザードが開始します。 ## 撮影風景 汚部屋画像注意。 - ![](https://lemmy.juggler.jp/pictrs/image/bff280eb-cb87-4b6d-a5af-0a6de25c120c.jpeg) ## 撮影サンプル 実際に撮ってみたのがこちら。 ### テスト1 <iframe title="テスト" src="https://fedimovie.com/videos/embed/fdfef195-c006-42a4-b795-2f58036cd0ac" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups" width="320" height="240" frameborder="0"></iframe> - https://fedimovie.com/w/xn9a2pG35mGWCJWSQKSzLh - Lumix DC-G9 + オリンパス 12-40mm F2.8。 -- F2.8。露出補正+1.3 -- カメラ側手ブレ補正あり。 - edelkrone DollyOne + 2x edelkrone HeadOne. -- 円弧。速度50%。 - 後処理なし。 ### テスト2 <iframe title="テスト2 - 後処理でブレ補正" src="https://fedimovie.com/videos/embed/43ec5afb-5849-4fb5-b997-8af886ebab6d" allowfullscreen="" sandbox="allow-same-origin allow-scripts allow-popups" width="320" height="240" frameborder="0"></iframe> - https://fedimovie.com/w/9otoX1N3kMCMvZZ2H1bYgX - Lumix DC-G9 + パナ12-60mm F2.8-4.0 -- 絞り優先のF5.6。動画AEをハイライト重視にした。 - edelkrone DollyOne + 2x edelkrone HeadOne. -- ドリーの動きを直線にした。速度を10%にした。 - 後処理でブレ補正 -- DaVinci Resolve Studioのスタビライザー(平行移動) -- 設定手順 https://jmplanning.net/SpeedGrade/dr-senior/1243.html ## 感想 - 後処理でブレ補正するのはとても効果的。 - ドリーの速度は可能な限り下げた方がよい。ただし下げすぎると移動しない。 - m4/3のレンズは普通のズームでもかなり寄れるので、ドリーをより近くに寄せられる。視点移動をよりダイナミックにできる。 - カメラボディがパナだと動画AFのウォブリングがやや目立つのを避けられないようだ。オリンパス/OMDSのカメラボディも試してみたい。 - テーブルが滑りやすいせいか、ドリーの位置がズレていく。ポーズを微調整してる間にもどんどんずれていくし、円弧だとズレすぎるとシーケンス再生時にパスエラーで止まる。なるべく直線移動でシーケンスを組んだ方が撮影時のストレスは少ない。 ## 比較製品 中華からも類似製品が色々でてます。ジンバルと連動するスライダーとかありますね。 https://www.amazon.co.jp/stores/YCOnion/page/FE85B7A0-CF1C-4DB7-ADC0-C801B111C2C3 合計10万円くらいでスライダー+ジンバルを調達できて、スマホからまとめて操作できるようです。 ただし私の用途だと、ジンバルより電動ヘッドの方がカメラ位置を低めにできるのが良いので、今回は選択しませんでした。

コメント欄のfedilinkアイコンの挙動が変わるそうです


>ユーザ名とコミュニティ名が同じ場合、Mastodonからコミュニティが見れない

なるほど助かる




キノコジュース×えっくす☆きゅーとふぁみりー せら/KIMAGURE グッドモーニングベイビーズ
クロスポスト: https://lemmy.juggler.jp/post/1345 > テスト https://lemmy.juggler.jp/c/ghrt


価格改定で型番が変わったらしい。 (現)XP34210 == (旧)XP34290


財布を5-6年ごとに交換してるが、毎回色々悩んだ挙げ句にこの製品を買い直してる。 - カードの収納力がそれなりにある - パスケース機能もある - 小銭を落としにくい小銭入れ - シープスキンで優しい手触り

dummyブリッジを作ってdockerコンテナとホストの間で通信する
---- # 概要 ホストOS上でnginxやpostgresqlが動いていて、内側にdockerコンテナがある。 - ホストとdockerコンテナの間で通信したい - ホストの外側からはアクセスできないようにしたい。 いままでdocker0ブリッジのアドレスにlistenさせていたが、postgresqlとdocker の開始順序を調整するのが systemdだとダルい。 今回の記事ではdummyブリッジを作ってホストやdockerコンテナからそのアドレスにlistenするよう設定する。 - このアドレスはホストの外側からアクセスできない。 - dockerブリッジと異なり通常のLANとほぼ同タイミングで設定される。サービス起動順序を調停しなくてもlistenできる。 - DB等のクライアント接続のリトライが不適切な場合はコンテナ側に一工夫する必要があるが、それは難しくない。 ---- # 手順 ## dummyブリッジを作る IPアドレスとホスト名を決める。 今回は 192.168.3.1 din2 にしよう。この名前に意味はない。 ### /etc/hosts を編集 以下の行を追記する。 ``` 192.168.3.1 din2 ``` ### /etc/netplan/02-dummy.yaml を作成 既存ファイルとぶつからないようにファイル名先頭の番号を調整すること。 内容はこんな感じだ。 ``` network: version: 2 renderer: networkd bridges: dummy0: dhcp4: no dhcp6: no accept-ra: no interfaces: [ ] addresses: - 192.168.3.1/32 ``` ### 設定反映、動作確認 ``` netplan apply ifconfig |grep 192.168.3.1 ping din2 ``` ---- # 各サービスの対応 ## listenする側 このブリッジは起動時にdockerやpostgresより先に作られるので、dockerもpostgresも起動順序に関係なくlistenできる。 たとえばdocker-composeを使ってるなら、コンテナのports指定に "192.168.3.1:1234:8080" とか書くと露出ポート 192.168.3.1:1234 からコンテナの8080ポートへの中継が行われる。なお残念ながらdocker-compose.ymlのポート指定にはホスト名を書けず、IPアドレスを生で指定するしかない。 ## アクセスする側 たとえばホスト側のpostgresがdummyブリッジにlistenして、dockerコンテナが起動時にpostgresにアクセスするような場合。postgresとdockerの起動順序の調停がイヤだというのが話の出発点なので、dockerコンテナ側はpostgresがまだ準備できていない段階で起動する場合がある。 コンテナ側がリトライを適切に行なってくれればよいが、そうでない場合はdocker-composeに一工夫入れることになる。 ---- # docker-composeに一工夫 docker-compose.yml に次のようなサービスを追加する。 ncコマンドの引数にホスト側のサービスのホストとポートを指定する。 ``` delay: # ubuntu 18.04未満ではncコマンドがプリインストールされている image: ubuntu:14.04 command: > /bin/bash -c " while ! nc -z din2 5431; do echo sleeping; sleep 1; done; echo Connected!; sleep 10; " ``` 続いて、待機させたいサービスに depends_on 指定を追加する。 ``` sidekiq: build: . … depends_on: - redis - delay <==== これ … ``` delayコンテナだけ動作確認してみよう。 ``` $ docker-compose up delay Pulling delay (ubuntu:14.04)... 14.04: Pulling from library/ubuntu 2e6e20c8e2e6: Pull complete 0551a797c01d: Pull complete 512123a864da: Pull complete Digest: sha256:43cb19408de1e0ecf3ba5b5372ec98978963d6d0be42d0ad825e77a3bd16b5f7 Status: Downloaded newer image for ubuntu:14.04 Recreating m2j_delay_1 ... done Attaching to m2j_delay_1 delay_1 | Connected! m2j_delay_1 exited with code 0 ``` 次は普通に起動。 ``` $docker-compose up -d $docker-compose logs ``` delayコンテナは起動しっぱなしではなく、スクリプトが終わると終了してしまう。無駄なメモリ消費はない。依存コンテナの実行は継続される。 これでOS再起動時にpostgresqlやpgbouncerの起動を待ってから残りのコンテナを起動できるようになった。ホストOSの設定を特に変更しないのが利点だ。

ケースのノイズ対策とかは素人なので、「完成品より音が良い」とか「メイン機材置き換え」とかいう話にはならないのでした。オペアンプ遊びが目的。


オペアンプ比較。


キット標準

入力段:LME49720NA

  • ユニティゲイン安定であること。

出力段:OP275GP

DCサーボ:OPA2134PA


比較1:出力段

試聴環境

  • イヤホン Etymotic EVO
  • DAC Topping D90 音量-19dB

変更前 OP275GP

  • A90やM6Proに負けてるのは仕方ないか。
  • 帯域バランスは良し
  • 普段使いのオーディオと比べて低音がややボケた感じ。
  • 高音もいまいち落ち着かない。
  • バーンイン不足かもしれない。

MUSES8920

  • 低音のボケが改善された。量はやや多いかな。嫌いではない。
  • 中音域に少し艶が出たかな?
  • 高音はやや曇ったかなあ。
  • 「コンプレッサをかけた上でイコライザで低音を強調したような、ミニコンポの音」とWebで揶揄されていたのに納得。

OPA1656

  • ユニティゲイン安定
  • 高域の歪みが少なめ
  • 低音も良し
  • 現代的で良し
  • 低音の硬さを求めるとOPA1656 では物足りないともなるのか…

LT1364

  • ノイズを拾う。ケースを開けたり締めたり触れたり離したりするとノイズ量が変わる。
  • 低音がしっかりしてて良い
  • 中音域、高音域も良いと思う。
  • ただ少し疲れる音かな?

個人的な感想

  • OPA1656が良いかな…?
  • LT1364を頑張って使いこなす必要もなさそう。
  • OPA2211は在庫なさそうなんでスルーしよう

比較2:入力段

次は前段のLME49720NAをLT1364に変えた。 帰還しない部分のせいかノイズが出たりはしなかった。 解像度が上がった。

https://mastodon.juggler.jp/@tateisu/106955981843170561


今回は工具も色々追加した。

  • プロクソンのルーター
  • マキタの電動ドリルとドリルセット。最初からこっちを買っておけばよかったな
  • センターポンチ、ピンバイス、ドリルセット、テーパーリーマー。
  • バリ取り工具。ケース裏側の狭い場所のバリを取るのに活躍した。
  • IC抜き工具。基板レイアウト上、コンデンサが邪魔な位置にあるので工具が合ったほうがオペアンプをソケットから外しやすい。
  • ネジとナットとスペーサー。
  • ムンドルフのはんだ
  • so-dip変換基板とそれ用のピン。DIPソケット。ピンヘッダ。
  • 安いUSBオシロスコープとデュアルフックプローブ。

まだあったかな


キットは思ったより色々パーツがついてきたので、キットと精密抵抗だけ買って後から足りない部品を調達した方が良かったかな。


HPAキットをポチって組んでみた
- フルバランス入出力 - 4.4mm端子 - オペアンプ交換で遊べる …という条件でヘッドホンアンプを探したら完成品は現行販売されてないっぽい。 そこで https://togetter.com/li/704518 のHPAキットをポチって組んでオペアンプ交換して遊んだ。 - https://mastodon.juggler.jp/@tateisu/106871369133179106 - https://mastodon.juggler.jp/@tateisu/106955981843170561 9/4にポチってから主に部品調達の都合で15日かかった。 LEDブラケットだけまだ届いてないので仕方なくパーマセルを巻いてる。



(管理者ユーザで)投稿やコメントの画面のmoreメニューを開くと「サイトへのアクセス禁止」とあるのがBanPerson APIらしい。ユーザ画面にはないので、投稿を先に削除してしまうとBANするのにAPIを直接使うしかなくなる。

ユーザ画面ではなく投稿やコメントのmoteメニューにはあるみたいですね。 https://mastodon.juggler.jp/@tateisu/106933667964776247


https://github.com/tateisu/gitHubReleaseWatcher my script is very tiny, just read Github releases via API, and then post it to Lemmy.


その後Linux用バイナリのクロスコンパイルやcoroutinesやktorを試してみたが、ktorから呼ばれるlibcurlがTLSをうまく扱えない現象に遭遇して頓挫した。


512GBのカードも見てみた。

Warning: Only 482375 of 482379 MByte tested.
Test finished without errors.
You can now delete the test files *.h2w or verify them again.
Writing speed: 79.1 MByte/s
Reading speed: 90.2 MByte/s
H2testw v1.4


 speed |             canonical_alias
-------+------------------------------------------
  4953 | #news:smith.gdgd.jp.net
  1108 | #neta:matrix.juggler.jp
   698 | #element-web:matrix.org
   669 | #srad:matrix.juggler.jp
   267 | #synapse:matrix.org
   118 |
   113 | #omokan:matrix.juggler.jp
   100 | #soccer:matrix.juggler.jp
    86 | #lobby:matrix.juggler.jp
    81 | #iyh:matrix.juggler.jp
    55 | #nowplaying:matrix.juggler.jp
    50 | #miko:matrix.juggler.jp
    45 | #fediverse:nibbana.jp
    40 | #welcome:matrix.fedibird.com
    38 | #baseball-watch:matrix.juggler.jp
    30 |
    28 | #programming:matrix.juggler.jp
    22 | #talk:matrix.fedibird.com
    12 | #matrix-research:matrix-jp.net
    10 | #yamako-experimental:matrix.fedibird.com
     9 | #pc:matrix.juggler.jp
     8 | #anime-watch:matrix.juggler.jp
     6 | #freetalk:matrix.mstddntfdn.online
     3 | #retro-game:matrix.juggler.jp
     2 | #beginner:matrix.juggler.jp
     1 | #mjj:matrix.juggler.jp
     1 | #camera:matrix.juggler.jp
(27 rows)


現金収入でターンアラウンド短めの飲食業界だと、この遅れはキツいだろうなあ…