2025/09/16(火)SFP+端子の抜き方と挿し方

更新日:
投稿日:

コネクタを傷めないための備忘録。

死ぬほど硬いのでなかなか抜けなかったり、挿したつもりが刺さっていなかったりする。

抜き方

普通は紐をまっすぐ引っ張れば抜けるが、どうしても抜けない場合にロックを外す方法。

こう刺さっている場合、手前の凹の出っ張り部分に爪楊枝やマイナスドライバーを差し込み、てこの原理で持ち上げるとロックが外れるので、この状態で紐を真っすぐに引っ張る。

挿し方

まず刺さっているかどうかの確認方法。確認環境はUbuntu 24.04.3 LTS。

  1. ethtool enp1s0f0np0の出力に以下の内容が含まれることを確認
    Speed: Unknown!
    Duplex: Unknown! (255)
    Link detected: no
  2. 以下のコマンドでカーネルレベルで抜けていることを確認
    sudo dmesg | grep -i 'mlx5' | grep -i 'Cable unplugged'
    
  3. NICのコネクタのランプが点灯していなければ挿しなおす

2025/09/15(月)Dockerを使ってMastodonの開発環境を作る

更新日:
投稿日:

なんか昔のやり方が使えなくなってたので調べたメモ。

確認環境

Env Ver
OS Ubuntu 24.04.3 LTS
Docker version 28.1.1, build 4eba377
Docker Compose v2.35.1
Mastodonのバージョン v4.5.0-alpha.2
Mastodonのコミットハッシュ 06803422da3794538cd9cd5c7ccd61a0694ef921

手順

DEVELOPMENT.md#dockerの手順通りにやると行ける。

docker compose -f .devcontainer/compose.yaml up -d
docker compose -f .devcontainer/compose.yaml exec app bin/setup
docker compose -f .devcontainer/compose.yaml exec app bin/dev

コンテナへのアタッチ方法

# 方法1
docker compose -f .devcontainer/compose.yaml exec app zsh

# 方法2
cd .devcontainer
docker compose exec app zsh

VSCodeがあるならDockerやRemoteほげほげ系の拡張を使い、devcontainer-appにAttach Shellしてもよい。

検証ユーザーの作成

  1. 次のコマンドでユーザーを作る
    ./bin/tootctl accounts create hoge --email hoge@example.com --confirmed
    
  2. ユーザーの承認を行い、必要に応じてパスワードを使いやすいものに変更する
    rails console
    user = Account.find_by(username: 'hoge').user
    user.approve!
    # PW変更ここから
    user.password = 'password'
    user.skip_confirmation!
    # PW変更ここまで
    user.save!
    quit
    

フロントエンドのビルドとサーバー起動

bin/rails assets:precompile
bin/dev

トラブルシューティング

localhostではアクセスできるが、マシンのホスト名やhoge.testのようなローカルドメインでアクセスできない

.env.developmentALTERNATE_DOMAINS=hoge.testの行を追加することで他のドメインでもアクセスできる。

この設定があるとMastodonを別環境で動かしててリモートからドメインアクセスする場合に便利。

ActiveRecord::PendingMigrationErrorなど、ActiveRecord関係のエラーが出る

コンテナの中でrails db:setupを叩くことで解決する。

Unable to load application: NameError: uninitialized constant LetterOpenerWebというエラーが出る

リポジトリルートにあるdocker-compose.ymlを使うと発生するので、.devcontainer/compose.yamlを使う事で解決する。

あとがき

検証用にバニラなMastodon環境が欲しくて作ってみたが昔と変わっていて地味にハマった…。

2025/09/10(水)マシンを更新したのでローカルLLMを軽くベンチマークしてみた

更新日:
投稿日:

久々にPC構成を大刷新してから三ヶ月ほど経過しているが、ローカルLLMを叩いたときのパフォーマンスが前回と比べてどれほど上がるか計測してみた。

環境の現新比較

デバイス 前回 今回
CPU Intel Core i7 13700 Intel Core Ultra 7 265F
GPU GeForce RTX 4070 Ti GeForce RTX 5070 Ti
MEM Crucial Ballistix BL2K16G32C16U4B(DDR4-3200 16GB) * 4 Crucial CT2K16G56C46U5(DDR5-5600 16GB) * 4
M/B ASUS TUF GAMING Z790-PLUS D4 ASRock Z890 Pro RS

確認環境

実行環境はWindows 11。

Env Ver
ollama 0.15.2
Open WebUI 0.6.42

ベンチマーク結果

前回はストップウォッチで計測していたが、今回はOpenWebUIのメタ情報から確認した。

gpt-oss:20b

指標
response_token/s 120.74
prompt_token/s 255.92
total_duration 22796593800
load_duration 11155098300
prompt_eval_count 73
prompt_tokens 73
prompt_eval_duration 285245200
eval_count 1371
completion_tokens 1371
eval_duration 11355103800
approximate_total 22s
total_tokens 1444

今回新規で追加。なんかこいつが標準っぽいので測ってみた。

gemma3:27b

指標
response_token/s 10.65
prompt_token/s 39.72
total_duration 85295369100
load_duration 4291682600
prompt_eval_count 13
prompt_tokens 13
prompt_eval_duration 327282600
eval_count 859
completion_tokens 859
eval_duration 80674730800
approximate_total 1m25s
total_tokens 872

前回は出力に3分半程度かかっていたが、今回は一分半程度と、良好な結果となった。

lucas2024/mistral-nemo-japanese-instruct-2408:q8_0

指標
response_token/s 51.88
prompt_token/s 127.3
total_duration 14512642900
load_duration 2966192400
prompt_eval_count 17
prompt_tokens 17
prompt_eval_duration 133547400
eval_count 592
completion_tokens 592
eval_duration 11411474600
approximate_total 14s
total_tokens 609

前回は出力に1分程度かかっていたが、今回は14秒程度と、非常に良好な結果となった。

qwen3:30b

指標
response_token/s 27.49
prompt_token/s 57.74
total_duration 134732866900
load_duration 64763725000
prompt_eval_count 14
prompt_tokens 14
prompt_eval_duration 242451700
eval_count 1917
completion_tokens 1917
eval_duration 69724445400
approximate_total 2m14s

今回新規で追加。悪くない品質で、そこそこ早いのでこれは良さそうだ。

qwen3:32b

指標
response_token/s 5.66
prompt_token/s 18.49
total_duration 332234237600
load_duration 9168679700
prompt_eval_count 14
prompt_tokens 14
prompt_eval_duration 757307500
eval_count 1823
completion_tokens 1823
eval_duration 322305287600
approximate_total 5m32s
total_tokens 1837

今回新規で追加。流石に秒間5.66トークンは厳しい。

雑感

前回と比べるとかなり高速化されており、生成速度だけを見れば十分実用ラインに上がっていているように感じた。しかし回答の品質がそこまでよくなく、そのままでは使えないと感じた。恐らくRAGなどとして使えるようにカスタムしてやっと使えてくるみたいなところがあるのだろうか?

実用性で見ると、日本語文書作成ではgemma3:27bが一番よさそうに思えた。これはqwen3シリーズは単純な質問では結構いい感じなのだが、複雑な条件を付けると期待通りの結果を出してくれなかったからだ。lucas2024/mistral-nemo-japanese-instruct-2408:q8_0も、一見よさそうに見えるがよろしくない発言はできないように細工されているようで、微妙に感じた。

何はともあれ、現実的な速度でローカルLLMが動くようになったのはうれしい。

2025/09/09(火)WindowsにSSHDを立てる

投稿日:

Windows標準のOpenSSHを利用してSSHDを立てる方法。

SSHサーバーをインストールする

20分くらいかかるので、気長に待つ。

# 有効なバージョンの確認
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
# インストール
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

SSHDサービスを構成する

# SSHDサービスの開始
Start-Service sshd
# 自動起動に設定
Set-Service -Name sshd -StartupType 'Automatic'

# 構成状況の確認
Get-Service -Name sshd
(Get-Service -Name "sshd").StartType

SSHDを鍵認証できるように設定する

%programdata%\ssh\sshd_configに設定ファイルがあるので、これを触る。

Ubuntuと同じOpenSSHであるため、設定方法は基本的に過去に書いたSSHDの設定方法と同じだが、管理者であればAuthorizedKeysFileのコメントを外す必要はない。

管理者である場合、authorized_keysadministrators_authorized_keysというファイル名にして%programdata%\sshに置く。

書き換えたらRestart-Service sshdで再起動する。

上手く繋がらない場合は、Stop-Service sshdでサービスを止めたうえでsshd.exe -ddd -eで直に起動するとデバッグログが見れるので参考にする。

ファイアーウォールへの穴開け

  1. コントロールパネル→Windows Defender ファイアウォール→詳細設定を開く
  2. 受信の規則にOpenSSHが登録されているが、ポート番号が変更不能なため削除する
  3. 次のコマンドを流し、規則を作りなおす

    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort <ポート番号>
    

2025/09/07(日)Noctua製CPUクーラーのヒートシンクについた指紋を取る

更新日:
投稿日:

Noctuaのヒートシンクに素手で触れるとめちゃくちゃ指紋が付いて汚く見えるので、それを除去していく。

こういう指紋汚れを取る。

指紋が付いたばかりのケース

無水エタノールを含ませたティッシュなどで拭うと簡単に取れる。

これは指紋が付いた直後に拭いたときのもの。

指紋が付いて数年経過したケース

無水エタノールで拭いてもほとんど取れない場合は、食器洗い用中性洗剤をティッシュなどにつけ、原液のままま強めにこすると取れやすい。

そのままだと洗剤が残ってしまうため、最後は水拭きして洗剤を取り去る。

洗浄前 洗浄後

これは5年ほど積もり積もった指紋の山だが、大分綺麗になったと思う。写真では判らないがよく見ると完全には取り切れていない。