2026年11月2日月曜日
引き戸のソフトクローザー修理
2026年10月18日日曜日
九州・四国バイクツーリング
バイクでロングツーリングしたいなぁと思っていたので,思い切ってやってきた.
当初は夏頃に北海道ツーリングしようと思っていたけど,仕事の休みがこの時期にずれ込んでしまった.北海道はすでに極寒であることが予想されたので,急遽行き先を九州・四国ツーリングに変更.まぁバイクで北海道横断は行ったことあるしね.
1日目:九州
フェリーで新門司に上陸し,まずはカルスト台地の平尾台を経由して由布岳に向かう.
途中の景色がテラ WindowsXP www
次は阿蘇山周辺 (ミルクロードとか大観峰とか) めぐり.ここは噂通り絶景の走りやすい道が永遠続くので,走っていて本当に気持ちがいい.
ついでに火口も見学したかったけど,警戒レベルが高く見学できなかったのが残念.
2日目:四国カルスト
再びフェリーに乗って四国に上陸し,佐田岬のメロディーライン経由で大野ヶ原と四国カルストに向かう.
こちらは (車だと) すれ違いも気を使うくらい道は狭く,純粋に走りを楽しむ道ではないが,その分広がる風景の絶景度はピカイチ.広大な草原と空の対比が凄まじかった.いま blog 書きながら写真見ても,実際に見た感動は写真じゃ伝わらない.
3日目:しまなみ海道
3日目はしまなみ海道と途中の展望ポイント巡り.原付で自転車・歩行者用通路をゆったり走れて,橋の上からは高い高度から瀬戸内の風景を一望できて見応え抜群.さらに,間近で見る迫力満点の橋梁やケーブルといった巨大構造物好きにはたまらない.これらを,橋の上で停めてじっくり写真撮っても合法という,普通二輪には無い原付ならではの特権.
旅を終えた感想&反省点
最後はフェリーで神戸に渡って終了.こうして 4泊 5日で 1000km を無事に走りきった.九州・四国の定番ツーリングスポットをしっかり回れて超満足だけど,さすがに疲れたのでしばらくはバイクに乗りたくないなw
あと,実際にやってみて痛感したのは,原二だと高速・自動車専用バイパスに乗れないのがロングツーリングだと地味に堪えたということ.下道縛りの移動に想像以上に時間が取られたせいで,せっかくの観光地をゆったり観光する時間がなかったのが大きな反省点.
もっと日程を長く取って観光の時間を増やしたいところだが,バイクだと休みの日程と晴天が重なる日に走り抜けないといけないので,長期間のスケジュールを組みにくい.
2026年8月28日金曜日
スマートな生活デビュー
- 中華 SW のほうが安い
- 電池持ちとか防水性とかの常用性を考えると,SW のほうが上
- SW ならヘルスモニタ機能とかも使える
と思って,Amazfit Bip 5 Unity を 6,311円で get.無名中華 SW なら3千円台からあるが,自作アプリが組めるものはほぼない.Amazfit は Zepp OS という OS 上で自作アプリが組める.
というわけで開封の儀.本体と充電ケーブル (マグネットで本体とくっつく) のみ.で 1週間ほど使ってみた感想.
◯中華 SW と言いつつ,Amazfit は日本展開もしているそこそこまともなメーカーらしく,質感も全然悪くない.
◯画面は真夏の直射日光下でも視認性は問題なし
◯バッテリーは約 10%/日 消費,で 1週間は余裕
✕ベルトは,余った端をもう一方のベルトの下に潜り込ませる形式で,つけ外しが非常にやりにくい.常用するならベルトの交換は必須と思われる.
◎通知機能が超便利.例えば運転中とかでも確実に通知に気付けて,信号待ちとかでメール・Line 等ならさっと SW で文面を確認できる.
△ヘルスモニタリングは,勝手に過剰に期待していただけに微妙.例えば心拍数計測→不整脈検出,とか血流センサから血圧測定,とか睡眠モニタ→無呼吸症候群検出,とか病気の前兆を検出して警告してくれる系の「健康モニタ」を勝手に期待していたが,実際は運動中,睡眠中,等の生活リズムを検出・ログ取りして,健康的に生活しましょう! 的な趣旨らしい.普段運動しない自分にとっては無意味w なので,ヘルスモニタリング機能は使わないかな.
結局のところ,テキストメッセージ受信・確認を SW だけで素早くできて便利,くらいで,QoL が爆増したわけでもない.
まぁ SW がどういうものか経験できたし,本命はアプリ作って遊ぶことだから,約 6k 円でこれが get できたのは満足.
2026年5月8日金曜日
HDD ガチャ
8TB の HDD が 1年ちょっとで壊れた. アクセスリトライのためモーター停止→モーター再起動 という割とやばめな動作をいきなり始めて,以後アクセス不能に.Windows イベントビュアーでもなんの前兆もなく,予防措置を取る暇もなかった.
で壊れたものは仕方ないので HDD 買おうと思ったら,めっちゃ高騰してて笑えない... 1年前に買った値段の 2倍以上で ¥36,000 とか,今積んでるグラボより高いんだが...で色々安いところを探していたら,何故かバルク HDD より外付け HDD のほうが安いことが分かった.で Buffalo HD-NRLD8.0U3-BA を ¥30,980 + 2,027楽天ポイントで Get.中身の HDD が何かにもよるけど,最安の HDD よりも安い.というわけで HDD ガチャ開始!で届いたので,一度も通電することなくいきなり分解w 中身東芝だったらいいなぁ,と確認してみたら,Seagate ST8000VX009... HDD ガチャ外れか? と思ったが,SKYHAWK という聞いたことないブランドなので調べてみたら,監視カメラ録画用の高耐久? 製品らしい? 当たりなのか外れなのかよくわからない.
結局壊れた HDD は,プログラムパーティションとデータパーティションを分けていて,プログラムパーティションのほうが完全に吹っ飛んだ.幸い重要なデータはデータパーティションの方にあったので,再インストールが面倒なことを除けば被害はほぼ 0 なのが不幸中の幸いだった.
ちょっと気になったので,過去の HDD 故障状況を追ってみた.故障率は Seagate > Western Digital だと思い込んでいた (Backblaze の調査だとそんな感じ) が,自分の場合は WD が全滅だったのか.
| 容量 | 型番 | 購入日 | 故障? | 運用期間 |
|---|---|---|---|---|
| 8TB | WD80EAAZ | 2024/8 | 故障 | 1年9ヶ月 |
| 6TB | WD60EZAZ | 2020/5 | 故障 | 4年2ヶ月 |
| 4TB | ST4000DM000 | 2016/7 | 3年10ヶ月 | |
| 4TB | WD40EZRZ-RT | 2016/1 | 故障 | 6ヶ月 |
| 3TB | WD30EZRX | 2012/12 | 故障 | 3年1ヶ月 |
2026年4月6日月曜日
力こそパワー
■動機
PS1 の ZEUS: カルネージハート セカンド (以下 CH) というゲームがあって (ゲームの詳細は過去の blog 参照),CH の OKE ソフトのプログラミングはチップを並べる事によって行うので,編集作業が大変.
で,OKE ソフトをプログラミング言語で組めたらいいなぁとずっと思っていたので,やってみた.目的はもう一つあって,AI に聞きながら,もしくはコード生成を丸投げしてどこまでのことができるのか試したくなった.
というわけで OKE Chip Compiler (okecc) プロジェクト開始.ちなみに Github で公開してます.
■AI の威力
okecc のやるべきことは 2つ.言語から CH のチップ群に変換する言語パーサと,チップを処理の流れに従って矛盾なく並べる配置処理.前者は過去経験があるので良いとして,後者をどうやったらいいのか見当もつかないので,AI に聞いてみる.
- MxN のグリッドにチップを並べる問題を解くアルゴリズム
- チップの接続関係はすでに定義されている
- チップは縦横斜めの 8方向に隣接したチップと接続できる
- それ以上離れている場合は NOP チップで接続する.
- MxN のグリッドに全チップを並べ,NOP 数を最小化することがゴール.
という問題を与えてみたところ,最初は巡回セールスマン問題とかずれた回答をしていたが,こちらが補足として CH の名を出したとたん AI の理解が急速に進み,CH の内容を正しく理解していることにびっくり.それでいくつかアルゴリズムの案をだしてきた.
- この問題をグラフ理論とみなして既知のアルゴリズムを適用: CH の離れたチップは NOP チップで接続する必要があり,つまり配線スペースが必要だが,既知のアルゴリズムではそれは考慮できないという課題あり
- 機械学習: 教師データの準備が大変という課題あり
- 焼きなまし法: AI のおすすめ.全数探索が不可能な問題はとりあえずこれだそうで.
ここでダメ元で「焼きなまし法のコードを出して」とお願いしたら,それなりに動くコードが出てきてまたびっくり.焼きなまし法はおぼろげな知識はあるが,正確なやり方は知らなかったので,実際に動くコードがあるのと無いとでは自分の理解が断然違う.AI が吐いた最初期のコードだけでも下図のような,わりとまともな配置を吐くことができて,このプロジェクトが成功する手応えを得た.
ちなみにこれ,SVG で出力したものを Web ブラウザで表示していて,SVG 出力のコードはは 100% AI が吐いてくれた.こういった,誰かがもうやっているであろうコードを吐くのは AI は得意そう.
■AI の限界
上の配置図は一見まともだが,例えば黄色の箇所は他のチップ上を通過して接続されており,ルールに違反している.
ここで焼きなまし法の流れを簡単に説明すると,以下のようになっている.
- 今のチップ配置を元に次のチップ配置を生成する.ランダムに 1チップ選び,高確率で隣接するチップと入れ替えるか,低確率でランダムな場所とスワップする.
- チップ配置のスコアを計算する.接続するチップが離れていたら離れているマス数分のペナルティ,またそのチップ間のパスが他のチップ上を通過していたら大ペナルティ
- 前回のチップ配置からスコアが良化すれば新しいチップ配置を採用,スコアが悪化しても確率で採用するが,解の探索が進むごとにその確率は少なくしていく.
で AI が吐いたコードは色々課題があって,
- 解けない配置にハマると,一度スコアが悪い状態を経ないと正解にはたどり着けないが,その頃には「スコアが悪化しても確率で採用」の確率が低くなっているため,一時的なスコア悪化を許容出来ない
- そうなってしまう主な理由は,次のチップ配置生成のランダム要素が強く,スコアが良化する配置が生まれにくく,良い配置に収束するのに時間がかかりすぎているため
という問題があることがわかった.そこの問題点を指摘して AI にコード吐かせてみたが,たいして効果が無かったり,的外れであったりと,この時点では AI はさほど有用ではなかった.
CH のチップ配置という誰もやったことがないことに対しては,どこにも参考となるコードがないから,AI もまともな回答はできないようだ.このあたりが AI の限界だなぁと悟った次第.
■力こそパワー
で「より良い配置を生みだしやすくする配置生成アルゴリズム」は結局のところ人間の力で考えるしか無いが,アルゴリズムさえ考えて指示すれば,AI はちゃんとコードを吐いてくれる.
そうしたアルゴリズムを追加していった結果,チップ数が多い場合でも数十回に 1回ほど配置が成功するようになったので,後はマルチスレッド + 正解するまでループ,の力技で正解を探索するようにした.結局最後は CPU パワーがすべてを解決するw
今回 AI を活用してソフトを開発してみた感想としては,AI は「ネット上の膨大な知識を持っている社外工」だと感じた.例えば以下のような,Web 上に情報があり,人力でも検索すれば最終的には組めるようなコードを吐くのは大得意.
- 最新 C++ の書き方
- PS1 メモリカードイメージファイルから,特定のゲームのセーブデータを抜き出すコード
- 上に書いた焼きなまし法のベースとなるコード
- 上に書いた SVG 出力コード
2026年2月28日土曜日
JOG 3KJ アクセルワイヤ交換
で注油すれば治るかな? と見てみたら,折れてる? なので交換することにした.
純正よりちょっと長いのでワイヤの取り回しがちょっとあまり気味だが,動作には問題なかった.
アクセルも軽くなって満足ヽ(´ー`)ノ
2026年1月3日土曜日
3DS の立体視を VR で再現
任天堂 3DS は裸眼 3D ディスプレイという空前絶後の機能がついていたが,自分が知る限り周りは皆 3D 機能を OFF していた.自分は特にモンハンで,モンスターとの距離が把握しやすいので 3D ON にしていたので,3D にはそれなりに思い入れがある.
で,3DS エミュと VR ヘッドセットの PICO4 で立体視できんかな? といろいろ調べてみた結果,それなりに動いたので手順を紹介する.
基本的な仕組み
- Win 用 3DS エミュの Citra の画面を PICO4 に映す.
- Steam の Desktop+ という無料アプリで,特定のウィンドウ (or デスクトップ全体) を PICO4 に映すことができる.その時,SBS (Side-by-Side: 右目 / 左目の映像を横に並べた表示) 形式を 3D で表示できる.
- Citra は 3DS の映像を SBS 形式で表示できる
という感じ.基本的に Citra / Steam VR の機能なので,おそらく Meta Quest でも出来ると思う.
設定手順
- Desktop+ をインストール: Steamで「Desktop+」をインストールしておく.
- Citra の設定: Citraの エミュレーション → 設定 → グラフィック → 立体視 を開き,「Stereoscopic 3D Mode」を「Side by Side」に変更する.
- SteamVR と Desktop+ の起動: PICO4側でSteamVRを立ち上げ,Desktop+を起動する.
- ウィンドウの取り込み: Desktop+の「+」ボタンを押し,表示するウィンドウとして「Citra」を選択.
- 3D表示の有効化: 右下のウィンドウ一覧からCitraを選択し,プロパティ → 実績(※設定項目)にある「3D」にチェックを入れ,「半分に並べる」を選択する.
感想
実際にやってみたところ,3DS の裸眼立体視と全く変わらない感覚で,見た目的には全く違和感なく遊べた.しかも 3DS 画面がそのまま 20インチくらいに拡大されて眼の前にある感じで,むしろ実機よりも見やすい感じ.
ただし,PC の画面をキャプチャ→エンコード→PICO4 に送信,しているので多少ラグがあるため,フレーム回避は非常に厳しい.有料の Virtual Desktop だと遅延が少ないらしいので,そっちだとマシなんかな?
まぁ,現状では裸眼立体視を再び体験できて懐かしい,くらいの意味しかなかったw
2025年12月16日火曜日
u-blox M10 測位頻度改善
ちょっと前に買った中華激安 GPS ロガーに載っている u-blox M10 という GNSS チップ,公称 10Hz で測位できるはずだが,測位してから数分経つと測位頻度が 6-8Hz 程度に低下することに気づいた.
不思議なことに室内での実験ではなかなか再現せず,車内 & 自作 Android アプリで頻発するので,自作 Android アプリの問題かと思ったが,PC <--> GPS ロガーでも測位頻度が低下していることを確認.
ということでこの GPS ロガーの実力であることが確定(;´д⊂)
改めて M10 のデータシートを眺めてみると,
- 測位処理は MCU が行っており,捕捉する衛星数が多いと更新頻度が落ちる
- アジア地域は BeiDou (中国のやつ) が多いので測位頻度は落ちがち
- High Performance Mode という MCU クロックを上げる設定を行うと,測位頻度は上げられる
らしい.
まずは High Performance Mode に設定してみたが,見た感じ変わってなさそう.
あんま変わらなかったのでやり方は詳しくは書かないが,ここの P13 に書いてある.
で次なる作戦.
- BeiDou を無効化する.これだけで捕捉衛星が 3/5 くらいになる.
- 不要な NMEA センテンス出力を無効化する
- ただし自作アプリ以外ではそれらを無効化しないほうが良いので,本体 Flash への設定は行わず,電源 On の間だけ有効な設定にする
そのための設定は割と簡単で,UBX protocol なるものが公開されていて,適切なバイナリデータを Bluetooth 経由で書き込めば良い.
詳しくはこれを見れば全部載っている.GGA, GSA, GSV センテンスを止めて,BeiDou を使用しない設定をする Kotlin コードはこんな感じ.
で実際にやってみた結果,10Hz 出たヽ(´ー`)ノ
あと BeiDou を無効化することによる測位精度がどうなるか調べた結果 (上図の青: BeiDou 有り,橙: 無し),全く問題なかった.
BeiDou 有りの方はやはり所々ポイントが抜けているのが気になる.この座標情報からラップタイムを計算するから,ポイントが抜けていないほうがいいので,BeiDou 無しで運用することにした.




































