Posts

春の農作業

春の農作業を始めました。

種籾の芽出し、苗箱の準備です。

今年は500箱ほど準備する予定です。

例年よりは50箱多いです。

今年は苗の価格も上昇しました。

決算月で卸売り業者が米の卸売り価格を安くしても、生産者側のコストが上がっているので今年も米の買付価格は下がりません。

また昨年同様に7月、8月に需要より供給量が25万トン少ないので米不足に陥るので今年の夏の販売価格は昨年より上がるでしょう。

今年は備蓄米が無いから覚悟しておきましょう。

消費者も卸売業者も農家を馬鹿にするなって話ですよ。

バッチファイルを集約していった

1, 始めに

Raycastてどないなもんやんねん?とGeminiに聞いたら、私にお薦めしますと言うので、意見交換をしてみた。

Alt + Spaceで立ち上がって、文字を打ち込んでいったら随時検索してキーワードにヒットするアプリを表示するランチャーなんだけど、見た目のこだわり、AI搭載、招待制っていうなんか、胡散臭い匂いがしているんだよね。そりゃmacOSの欠点を補うためのツールだからそうなんだろうと、そしておしゃれさを優先するユーザーに広げる目的があるんだろうと納得するもんだった訳ですよ。

で、Windowsには標準で最強のランチャー「スタートメニュー」とCtrl + Rがある訳ですよ。キー入力をインターセプトされることもなく、無駄なリソースを消費することもなく、専用のキーまで持った最高のランチャーが。私がランチャーに求めるのはシンプルさと簡潔さ、寧ろ見えなくても良いんですわ。

自分で仕込んでいるバッチファイルをもっと使いやすく出来ないか、管理者権限で起動できないかということを模索して居る話をして、当初はショートカットを作成して、プロパティーから「管理者権限で実行」を設定して、さらにはコマンドプロンプトで実行させるために、ショートカットにリンク先に「C:\Windows\System32\cmd.exe /k “"」を追加していたわけですが、ショートカットをあちこちに増やすのもスマートじゃないじゃない。

サマリーの変更とコメント欄を追加

はじめに

大まかなブログの体裁は整ったので、ブログとしての機能を拡充したいと思い始めました。一般的なブログとしては、サマリーが長すぎるので短くしたい、サマリーに日付を表示したい、サマリーから記事本文にとんで貰いたい、記事にコメント欄を追加したい、これからを実現できることは知っているんですが、GitHub Pageの手順は素人には非常に難しいので次のようにしてみました。

1. やりたいことをGminiに相談してみた

  • サマリーが長すぎるので短くしたい
  • サマリーのタイトル付近に日付を追加したい
  • サマリー下部に[Read More]と記事へのリンクを追加したい
  • 記事にコメント欄を追加したい

2. 実作業

  1. サマリーを短くする

GitHub Pagesのビルドをサーバー側(Actions)に完全移行してみた

hugoの使い方を簡潔に出来ないか

ローカルWWWサーバーのhugoで静的なhtmlファイルを作成してGitHub Pageにアップしていたわけですが、hugo serverコマンドでローカルサーバーを起動すると、hugo.tomlで設定している本番環境のbaseurlとは違うローカルホストのアドレスが静的ページに入り込み、本番環境にゴミが入り込んでしまうことがありました。ローカルサーバーを起動した場合には、都度、publicフォルダーを綺麗にしてから、hugoコマンドでbaseurlが外向きの物になっている物を作成してから、Gitにpushする(GitPageにアップロードする)必要がありました。バッチファイルを組み合わせればさほど難しいことではないのですが、なんかスマートではありません。そこでネット上の参考になる情報は無いかと徘徊していました。

Gitサーバー側で構築して展開すれば良いじゃない

時代は変わっていたんですね。ローカルでマークダウンファイルで記事を書いて、サーバーにアップロードしてビルドしてデプロイすれば良いというのが最近の推奨だったなんて。

手順

  1. GitHub設定の変更
  2. .github/workflows に hugo.ymlを作成
  3. ルートに.gitignoreを作成
  4. サブモジュールの実体化 (テーマフォルダ)
  5. 記事投稿時のgitコマンドを書き直す

1. GitHub設定の変更

リポジトリの Settings -> Pages -> Build and deployment -> Source を 「GitHub Actions」 に変更します。

CUIが好きなようだ

CUIの方が好きなようだ

1. Git版 ComfyUI with ROCm7.2を使う理由

デスクトップ版のComfyUIも正式にROCm7.2に対応しているのにもかかわらず、敢えてGit版のComfyUIを使っているのは、単にCUIが好きだからっていうのもあるけど、デスクトップ版にはElectronが組み込まれて居るらしいけれどGPUアクセラレーションを無効にできないので、GPUアクセラレーションを使用しないGoogle Chromeと連携できること、ComfyUIの起動オプションや環境変数を細かく設定できること、outputフォルダを日付で作成して分類できることなどが理由です。

2. 設定しているバッチファイル

1_ComfyUI_update.bat

D:
cd D:\ComfyUI
git pull
pip install -r requirements.txt

2_ComfyUI_date.bat

@echo off
setlocal

rem PowerShellを使って確実に yyyyMMdd を取得(ロケールに左右されません)
for /f "usebackq" %%i in (`powershell -NoProfile -Command "Get-Date -Format 'yyyyMMdd'"`) do set yyyymmdd=%%i

rem Get the Output path
set parentPath=H:\output

rem Create the folder with the name yyyymmdd
set outpath=%parentPath%\%yyyymmdd%

:: システムのPythonやライブラリを無視させる
set PYTHONNOUSERSITE=1
set PYTHONPATH=
:: このアプリ専用のPythonとROCmのパスを最優先にする
set PATH=%~dp0python_embeded;%~dp0python_embeded\Scripts;%PATH%

rem --- ROCm / PyTorch 最適化設定 ---
SET PYTORCH_HIP_ALLOC_CONF=garbage_collection_threshold:0.6
SET PYTORCH_HIP_ALLOC_CONF=expandable_segments:True
SET ROCM_ENABLE_PREFETCH=1

rem フォルダが存在しない場合のみ作成
if not exist "%outpath%" mkdir "%outpath%"

echo Target path: %outpath%

D:
cd D:\ComfyUI

python main.py --output-directory %outpath% --preview-method none --reserve-vram 0.0 --cache-lru 8 --use-pytorch-cross-attention
endlocal

Google Chrome ショートカットファイル

リンク先

"C:\Program Files\Google\Chrome\Application\chrome.exe" --app=http://127.0.0.1:8188 --user-data-dir="D:\ChromeData\App8188" --disable-gpu --disable-software-rasterizer --disk-cache-size=1 --media-cache-size=1

作業フォルダー

"C:\Program Files\Google\Chrome\Application"
オプション説明
–app=http://127.0.0.1:8188http://127.0.0.1:8188 をWebアプリとして開く。
–user-data-dir=“D:\ChromeData\App8188”上記のWebアプリとして開いた場合にユーザーデータを指定の"D:\ChromeData\App8188" フォルダに保存する。通常のブラウザの状態には影響しない。このオプションだけ指定してワークフローのJSONのダウンロード先を一度設定しておいてから、再びすべてのオプションを設定する。
–disable-gpuGPUアクセラレーションを使用しない。
–disable-software-rasterizerソフトウェアラスタライザーを使用しない。
–disk-cache-size=1ディスクキャッシュサイズを1にする。
–media-cache-size=1メディアキャッシュサイズを1にする。

ギリギリまでGPUリソースを削って、ComfyUIの動作を優先させる設定を施しているわけです。

冷却不足

甥っ子のPC強化

入替作業は滞りなく

今のメインPCを組む前に使っていたPCの部品を甥っ子のPCに搭載することにしました。

交換前交換後
Ryzen 7 5800X (8C16T)Ryzen 9 5900XT (16C32T)
Radeon RX 5700XTRadeon RX 6750XT
DDR4 32GB (8GBx4) 3600MHz CL18DDR4 64GB (16GBx4) 3600GHz CL16

マザーボードはASUS ROG STRIX B550-A Gamingです。

バックアップをとりましょう

バックアップをとりましょう

TrueNAS Community EditionT2ARCキャッシュでNVMeを導入したファイルサーバーを作り、メインPCはReFSで安全性を確保しました。次にやることはデータのバックアップを作成することです。

ROBOCOPY

安全性と速度を兼ね備えたバックアップのためのコマンドがROBOCOPYです。コマンドラインから使うのですが、最近では便利なGUIを開発している人が居るのでそれらを使うのも良いでしょう。私はRoboSyncを使っています。

RoboSync

コマンド例

cmd.exe、もしくはPowerShell
Robocopy.exe E:\Document \\survive\Data_3TB\E\Document /B /J /COPY:DAT /MIR /MT:4 /R:5 /W:5 /UNILOG:E:\Backuplog\Document.log
項目
コピー元E:\Document
コピー先\\survive\Data_3TB\E\Document
オプション解説
/Bバックアップモード
/Jキャッシュオフモード
/COPY:DATコピーするファイル情報、D 日付、A 属性、T 時間
/MIRミラーモード (コピー元のファイル構成に基づいて追加・削除される)
/MT:4スレッド数 (コピー先のディスク性能やネットワーク速度に応じて調整)
/R:5リトライ回数
/W:5リトライまでの待ち時間 (s)
/UNILOG:UNICODE形式のログを毎回書き直す。E:\Backuplog\Document.log

MTの値

MT:32を設定するとどちらかがコピー元、コピー先のキャッシュ切れを起こすまで、ネットワークの100%を使い切って転送が行われます。TrueNAS Commutity Editon がHDDにデータを保存するため、200MB/s~150MB/sをコンスタントに送れる値に設定します。TrueNAS Commutity Editon で T2ARCキャッシュをNVMeにしていると、おおよそ「4」が安定します。

ReFS

1. ReFSがいつの間にか復活していた

いつの間にWindows10Proから消えてなくなっていたフォーマット規格「ReFS」がWindows11Pro 23H2で開発者ドライブ「Dev Drive」に組み込まれていました。今日、現環境で面白いこと出来ないかとGeminiと対話してて教えて貰いました。 復活していたのならと早速ReFSにフォーマットしていきます。一応制限があって、起動用のシステムドライブ、外部記憶メディアには使えません。

2. NTFSとReFSの比較

性能NTFSReFS
データの整合性壊れても気づかない (サイレントエラー)チェックサムで破損を検知・報告
コピー速度 (同一ドライブ内)物理コピー (時間がかかる)ブロッククローニング (0秒コピー)
ストレージ効率実容量を消費クローン機能により容量を節約
修復能力chkdsk (数時間〜数日かかる)オンライン修復 (OS起動中に瞬時に隔離)

3. 導入後

番号ストレージ デバイスディスク タイプファイル システムドライブ レター用途説明
1NVMe 2TBベーシックNTFSC:システム用Windowsの起動にはNTFSが必須。
2NVMe 2TBベーシックReFSD:AI作業用10GB単位のモデルの高速読込、ビルドの高速化を期待できる。
3NVMe 2TBベーシックReFSE:重要データ用写真や音楽等の貴重なデータビット欠損を検知し修復できる。
4SATA 2TBベーシックReFSF:AI生成物用4番,5番で作っていたダイナミックディスクのストライプを廃止、故障リスク半減。データのビット欠損を回避できる。
5SATA 2TBベーシックReFSG:ゲーム用4番,5番で作っていたダイナミックディスクのストライプを廃止、故障リスク半減。速さが必要なゲームをしなくなったので問題なし。
6SATA 1TBベーシックReFSH:お宝画像6番,7番で作っていたダイナミックディスクのストライプを廃止、故障リスク半減。特に速度は必要ない。
7SATA 1TBベーシックReFSI:作業用6番,7番で作っていたダイナミックディスクのストライプを廃止、故障リスク半減。特に速度は必要ない。

4. 設定方法

Windows 11 で Dev Drive を設定する