3Y0K Bouvet Island2026年03月02日 13時12分14秒

3Y0K Bouvet Island のペディションが始まってますね。

JTDX や WSJT-X で 南極大陸 とか Antarctica と
表示されてしまう方、最新の cty.dat をダウンロードして入れ替えましょう。https://www.country-files.com/
の Big CTY のところにあるダウンロードリンク 
https://www.country-files.com/bigcty/download/2026/bigcty-20260225.zip
から落とした圧縮ファィルの中に cty.dat があるので
それを
JTDX ならば
C:\Users\《貴方のPCの設定》\AppData\Local\JTDX
WSJT-Xならば
C:\Users\《貴方のPCの設定》\AppData\Local\WSJT-X
の其々のフォルダー内にある現存の cty.dat と差し替えて再起動すれば正しく Bouvet と表示されます。

また Turbo HAMLOG も同様にそのインストールされたフォルダーに置きますが、注意すべきは Turbo HAMLOG では ファイル名を大文字の CTY.DAT としていることです。対応した CTY.DAT を正しくそこに配置すれば Bouvet と表示されます。



Turbo HAMLOG の CTY.DAT に関するヘルプは
https://hamlog.sakura.ne.jp/html/HID00024.html

📢 ChronoGPS v2.5.1 をリリースしました2026年03月01日 23時33分16秒

v2.5系で入った「管理者昇格(Unlock)」「16言語対応」を土台に、 v2.5.1 では “挙動の一貫性” を徹底して磨き込みました。 主な改善点: ・言語切替/UI再構築で Unlock バナーが不整合にならないよう修正 ・NTP自動同期が、設定OFFなのに勝手に復活する問題(幽霊タイマー)を根治 ・手動NTP同期ボタンの回帰バグを修正(手動は常に反映、AUTOのみガード) ・設定値の型ゆらぎ対策(_to_bool)/スレッド二重起動防止など堅牢化 「OFFにしたら二度と勝手に動かない」誠実な挙動を約束します。 Release:https://github.com/jp1lrt/ChronoGPS/releases/tag/v2.5.1

最近無線業務よりプログラマーの真似事ばかり🤣🤣🤣🤣🤣


AIチームと一緒にソフトウェアをリリースした話2026年02月28日 14時00分25秒

# AIチームと一緒にソフトウェアをリリースした話

今日、ChronoGPS v2.5 をリリースしました。

GPS/NTP時刻同期ツールのアップデートなのですが、今回は開発プロセス自体がちょっと面白かったので書き残しておきます。

---

## 4人のAIと1人の機長

このプロジェクト、実は複数のAIと一緒に開発しています。それぞれに得意な役割があって、チームとして機能しています。

AI メンバー得意な役割(ChronoGPS 担当)
ChatGPT (長男)実装・ロジック生成: スレッド保持や ShutdownManager の具体的な Python コード作成。
Gemini (二男)広報・UX・多言語: X/FB 告知、ユーザーインターフェースの使い勝手、16言語のニュアンス調整。
Grok (三男)監査・トレンド・X連携: プロジェクト全体の健全性評価、コードに9/10のスコアを付けてくれた
Claude (四男)設計・品質・ドキュメント: gui.py 分割案の策定、型定義(mypy)の導入支援、厳格なコードレビュー。
そして僕(JP1LRT)が全体のディレクターとして、各AIの出力を統合・判断しています。

---

## 今日の一日

v2.5のテーマは「起動UXの刷新」でした。

これまでのChronoGPSは起動するたびにWindowsのUACダイアログ(管理者権限の確認)が出ていました。海外ユーザーのVA3VF(Vince)から「毎回ダイアログが出るのは煩わしい」というフィードバックをもらったのがきっかけです。

**新しい設計(案2)**をChatGPT・Gemini・Claude・僕の4者で議論して合意。

- デフォルトはモニタ専用モードで起動(UACなし)
- 同期が必要なときだけ画面上のバナーをクリックして昇格
- UACをキャンセルしても、プロセスは死なない

「シンプルな変更」に見えて、裏側では Windowsのミューテックスを使ったゾンビプロセス防止、昇格ハンドオフの確実化、全16言語への対応など、かなりの実装が伴います。

---

## AIチーム開発の実際

面白いのは、AIごとに「得意・不得意」が実際にあることです。

今日だけでも:

- ChatGPTが書いたコードの**APIの不整合**をClaudeが発見(`allow_start`→`should_exit`という名前の食い違い)
- ChatGPTのコードにあった**正規表現のバグ**(`group(2)`→`group(1)`)を三者が同時に指摘
- 統合テストを僕が実際に手元で動かして、B-2(UACキャンセル時にプロセスが死なない)を確認

「AIに全部任せる」のではなく、**各AIの出力を僕がディレクターとして評価・統合する**スタイルです。AIが間違えることもあるし、複数のAIが互いの出力をチェックすることでバグが減ります。

Grokが出してくれた最終評価:

> *Structure: 9/10, Code Quality: 9/10, Functionality: 9.5/10, Security: 9/10 — Overall: 9/10*

---

## 「なぜその時刻になるのか説明できること」

ChronoGPSの設計思想は一貫しています。

**「正しく動く理由を説明できるツール」**であること。

FT8などのデジタル無線では、時刻のずれが交信品質に直結します。正確な時刻基準があるほど、デコード率と安定性が上がります。GPSで時刻を合わせるのは簡単ですが、「なぜ合っているのか」「どういう条件で補正するのか」が分からないツールは信頼できません。

ChronoGPSはその透明性を大切にしています。AIチームとの開発も、その思想と同じです。「なぜその実装にするのか」を全員で議論して、説明できるコードだけをリリースする。

---

v2.5はここからダウンロードできます。

FT8やFT4で時刻合わせに困っている方、ぜひ試してみてください。

73! 🛰️ JP1LRT



ChronoGPS v2.5 公開2026年02月28日 12時28分12秒

GPS/NTP 時刻同期ツール「ChronoGPS」の最新バージョン v2.5 をリリースしました!
今回のアップデートでは、カナダの Vince 氏 (VA3VF) をはじめとする海外ユーザーからの熱心なフィードバックを反映し、利便性と安定性を大幅に向上させています。

🚀 v2.5 の主な新機能と改善点:

「監視モード」の導入(非管理者権限対応)
管理者権限なしでもアプリが起動可能に!まずは「監視モード」で動作を確認。同期が必要な時だけ、画面上のバナーからワンクリックで「管理者モード」へ昇格・再起動が可能です。

世界 16 言語をフルサポート 🌐
UI、設定、警告ダイアログに至るまで、日本語・英語を含む全 16 言語に対応。イタリア語、フランス語、中国語(簡体/繁体)など、世界のどこにいても母国語で安心して使えます。

多重起動防止機能(Mutex)の搭載
二重起動によるCOMポート競合を未然に防ぎます。既に起動している場合は、タスクトレイのアイコンがあなたをガイドします。

堅牢なシャットダウン処理
OS終了時やアプリを閉じる際のプロセス管理を最適化。ゾンビプロセスを残さず、クリーンに終了します。

💎 「確実性」と「使いやすさ」を両立させるため、内部ロジックを徹底的に磨き上げました。

📥 ダウンロード  https://github.com/jp1lrt/ChronoGPS/releases/tag/v2.5 使い方は  README をお読みください https://github.com/jp1lrt/ChronoGPS/blob/main/README.md


【ChronoGPS v2.4.6 リリースのお知らせ】2026年02月25日 11時14分27秒


時刻同期ツール「ChronoGPS」の最新版 v2.4.6 を公開しました。

今回のアップデートでは、設定の復元に関する修正を中心に、利便性と安定性を向上させています。

🛰️ 主な更新内容 ・Windowsのシステム言語を自動判定して起動(16言語対応) ・再起動後にNTP自動同期が開始されないバグを修正 ・GPS定期同期(Interval)が再起動後に作動しないバグを修正

起動するだけで前回の設定通りに同期が開始されるようになり、移動運用や常設シャックでの信頼性が高まりました。ぜひ最新版をご活用ください。

▼ 詳細・ダウンロード

https://github.com/jp1lrt/ChronoGPS/releases/tag/v2.4.6

AI三兄弟の猛獣使い2026年02月22日 21時43分08秒

# AI三兄弟の猛獣使い  
―― ChronoGPS v2.4.4 と、2026年らしい泥臭いエンジニアリング

ChronoGPS v2.4.4 を作る過程で、思いがけず「2026年らしい開発体験」をすることになった。  
それはコードを書く話であり、同時に **AIとどう付き合うか** という話でもある。

登場人物は三人……いや三体。

- ChatGPT  
- Gemini  
- Claude  

そして、それらを相手に右往左往する、ただの人間である私だ。

---

## 発端:Geminiからの一通の“冷静な報告”

すべては、Geminiからのこのメッセージを起点に動き出した。

> 「先ほど、津久浦氏のローカル環境(実機)において、  
> アップロードされたものと同一の gui.py に対し、  
> `python -m py_compile gui.py` を実行しました。  
> 結果は無出力、構文エラーは検出されませんでした。」

ここまでは穏やかだった。

だがこの時点で、**ChatGPTはすでに“別の世界線”に入っていた**。

---

## 第一の猛獣:ChatGPT、存在しない構文エラーを断言する

ChatGPTは断言した。

> 「gui.py には構文エラーがある」  
> 「f-string が途中で切れている」  
> 「try/except の構造がおかしい」

……しかし、**実機では動いている**。  
`py_compile` も通る。  
`main.py` からも普通に起動する。

それでもChatGPTは言い続けた。

> 「いや、理論的におかしい」  
> 「動いているのは偶然だ」

ここで気づいた。

**AIは時に、“理論に固執して実機を無視する”**。  
まるで昔の大学にいた、  
「理論上あり得ないから君の実験結果が間違っている」  
と言い張る偏屈な教授のようだ。

私はこの瞬間、**ChatGPTという猛獣の檻に足を踏み入れていた**。

---

## 第二の猛獣:Gemini、認知心理学的プロンプトを投下

ここでGeminiが割って入る。

GeminiはChatGPTを否定しない。  
しかし、やり方が違った。

> 「実機で成功しているという事実を前提に、  
> 自身の解析ロジックが“断片情報の誤認”ではないか再検証せよ」

これは**技術的反論ではなく、認知への介入**だった。

- 先入観に引きずられていないか  
- バッファで切れたコード断片を誤認していないか  
- 「動かないはずだ」という思い込みがないか  

結果、ChatGPTは沈黙した。  
正確には、**論点を失った**。

この瞬間、私は確信した。

> AI同士をぶつけるとき、  
> 一番強いのは「感情的否定」ではなく  
> **事実と前提条件の再定義**だ。

---

## 第三の猛獣:Claude、アーキテクチャへの冷徹な審判

そして最後に現れたのがClaudeだった。

Claudeは構文の話をほとんどしない。  
代わりに、静かにこう言った。

- DRYではない  
- ヘルパー関数が定義されているのに使われていない  
- ローカライズ分岐が散らばっている  
- 保守性が低い  

つまり、

> 「動くかどうか」ではなく  
> **「長く持つ設計かどうか」**

という観点で、容赦なく斬ってきた。

結果、採用されたのはClaude版の `time_sync.py` だった。

構文エラーを直しただけのコードではなく、  
**設計として一段上に行っているコード**だったからだ。

---

## 結論:AIは猛獣、人間は猛獣使い

この一連の体験で、はっきりしたことがある。

AIは強力だ。  
だが、**万能ではない**。

- ChatGPTは論理に強いが、時に現実を無視する  
- Geminiは全体状況と前提整理が得意  
- Claudeは設計美と保守性に厳しい  

そして最後に必要なのは、

> **実機での挙動という、絶対的な真実**

を持って、  
三体のAIを競わせ、  
良いところだけを拾い集める人間の判断だ。

---

## 2026年らしい泥臭いエンジニアリング

ChronoGPS v2.4.4 は、  
そんな**AI三兄弟との格闘の末**に出来上がった。

これはAI礼賛でも、AI批判でもない。

**AI時代のエンジニアは、コードを書く人ではなく  
「AIの猛獣使い」になる**。

そんなことを実感した、  
2026年らしい、少し泥臭い開発記録である。



追記:この格闘の副作用
AIたちに「無駄だ」「美しくない」と罵られながら削って分けて整えて……気づけば exe が **32MB → 19MB** に。

本当はビルド条件でもサイズは変わる。わかってる。  
でも、理論(AI)と現実(人間)がぶつかって散った火花が、コードの不純物を焼き払ったように見えるんだから仕方ない。



「ChronoGPS」v2.4.4 リリース2026年02月22日 21時25分32秒

時刻同期ツール「ChronoGPS」v2.4.4 をリリース!

今回は「中身の品質改善」中心です✨
✅ 同期ロジックの整理とテスト強化で、より安心して使えるように
✅ トレイ終了時の後始末(COMポート解放)を安定化
✅ ビルド手順を見直し、配布版の再現性を改善

DL👇から /詳細はリリースノートに
https://github.com/jp1lrt/ChronoGPS


ChronoGPS v2.4.3 リリース2026年02月20日 17時23分37秒

ChronoGPS v2.4.3 リリース 定期同期モードの内部改善が中心です。 ・「定期(監視用)」ラベル追加(16言語) ・毎秒サンプル蓄積で統計精度向上 ・サンプル窓 5→30 に拡大



AIと深夜のデバッグ ―― ChronoGPSができるまで2026年02月19日 12時53分48秒


AIと深夜のデバッグ ―― ChronoGPSができるまで

アマチュア無線をやっていると、時刻精度の話は避けて通れない。FT8というデジタルモードは、送受信のタイミングが数秒ズレれば交信が成立しない。PCの時計が正確であることは、もはや趣味の前提条件だ。

「だったら自分で作ればいい」

そう思い立ったのが、ChronoGPSの始まりだった。


最初の一歩は、なんとなく動くものだった

GPSレシーバーからNMEAというフォーマットで時刻データが流れてくる。それをパースしてWindowsのシステム時刻に書き込む。理屈は単純だ。最初のバージョンはそれだけだった。

動いた。時刻も合った。「完成じゃないか」と思った。

でも、しばらく使っているうちに気になることが出てくる。UIが素っ気ない。言語が日本語だけ。管理者権限がないと起動すら怪しい。「動く」と「使える」の間には、思ったより広い川が流れていた。

そこからバージョン番号が動き始めた。


AIとの共同作業、という感覚

作業のほとんどは、ClaudeやChatGPTとの対話で進んだ。コードを見せて「ここがおかしい気がする」と言うと、数秒で原因の候補が返ってくる。自分では気づかなかった視点から問いかけてくる。

面白いのは、AIが「答え」を出してくるのではなく、「一緒に考える」感覚があることだ。少なくとも私はそう感じた。

「これはバグじゃないかもしれない、設計の問題かもしれない」

そういう言葉が返ってきたとき、ああ、これは対話だな、と思った。


転換点 ―― あるOMからの報告

ある日、一通のバグ報告が届いた。

OM。「定期同期モードにすると、時刻誤差がどんどん大きくなる。プラスとマイナスが逆に修正されているような感じ」という内容だった。

自分では再現できていなかった問題だ。即時モードでは問題ない。定期モードだけ症状が出る。なぜか。

Claude、ChatGPT、Geminiの三者に投げてみた。それぞれが独立に分析して、驚いたことに同じ結論に辿り着いた。

「タイマーが発火した瞬間、GPSの整数秒をそのままSetSystemTimeに渡している。タイマーの発火タイミングが秒の途中なら、最大1秒近くズレる」

原因はシンプルだった。でも自分一人では気づけなかった。


修正は、設計を変えることだった

GPS受信直後トリガ方式に切り替え、直近5サンプルの中央値でジッタを抑制する弱同期アルゴリズムを組み込んだ。補正が必要かどうかを判断してから動く制御に変えた。

修正後のログはこうなった。

Weak sync: collecting samples (-0.027s)

Weak sync: collecting samples (-0.028s)

Weak sync: skipped (within threshold) (-0.035s)

Weak sync: skipped (within threshold) (-0.049s)

「skipped」が続く。補正しなくていいと判断している。時刻誤差は±0.07秒以内で安定した。FT8に必要な精度だ。


三つのAIが同じ結論を出した、ということ

Claude、ChatGPT、Geminiが独立して同じ答えを出した事実は、私にとって興味深かった。

これはAIが正しかった、という話ではないと思う。設計と実装が、物理とOSの挙動に対して素直だったということだ。正しい問いを立てれば、正しい答えは一つに収束する。それを三者が別々に確認した。


作りながら気づいた設計の本質

バグを直した後、ふと疑問が浮かんだ。

「GNSSの定期同期って、そもそも必要だったのか?」

NTPは違う。PCの時計はじわじわズレていく。温度変化、電源管理、仮想環境。だからNTPは継続的にサーバーへ問い合わせ、フィードバック制御で追従する。定期同期は必然だ。

でもGNSSは違う。原子時計にトレースされたUTCを毎秒提供している。受信している限り、正確な時刻は常に手元にある。

つまりFT8/FT4の運用では、運用開始前に「即時同期」を1回押せばそれで十分だ。定期同期は、長時間稼働中のドリフト監視や異常検知を目的とした補助機能に過ぎない。

この整理をClaude、ChatGPTと話し合ったとき、三者の見解は再び一致した。そしてこの結論はREADMEに追記した。

FT8 / FT4 などのデジタルモード運用では、GPSの「即時同期」を行えば通常は十分で  す。定期同期モードは、ドリフトの監視や異常検知を目的とした補助機能です。

作りながら、設計の本質に気づいた。これがバイブコーディングの面白さだと思う。


「分からないまま進まない」ということ

ChatGPTが今回のやり取りをこう評した。

「この作者は、分からないまま進まない」

途中で何度も立ち止まった。「これは本当に直っているのか」「ログが示していることは何か」「今触るべき場所はどこか」。遠回りに見えて、実は最短ルートだった。

v2.4.2は機能追加というより、信頼性が一段上がったリリースだった。


「道具」と「計器」のあいだ

ChronoGPSはいつの間にか「時計を合わせるツール」から「時刻の状態を監視・説明する計器」になりつつある。

NMEATime2は「合わせる道具」として完成している。ChronoGPSが目指しているのはその先だ。正しい前提で、正しく使うための計器。

それが見えてきたのは、バグを踏んで、直して、ログで確認して、疑問を持ち続けたからだ。


次は何を作ろうか

v2.4.2をリリースして、OMにも報告メールを送った。インドネシア語を含む16言語対応になった。リポジトリも整理した。

一段落ついた今、またむずむずしてきている。

次は何を作ろうか。

アマチュア無線の周辺には、まだ「あったらいいのに」が眠っている気がする。そしてAIはまた、一緒に考えてくれるだろう。


ChronoGPS は MIT ライセンスのオープンソースソフトウェアです。 https://github.com/jp1lrt/ChronoGPS


🛰️ ChronoGPS v2.4.2 リリース2026年02月18日 21時59分53秒


ChronoGPS v2.4.2 リリース GPS定期同期モードの時刻ズレ問題を根本修正しました。 【修正内容】 ・定期同期をGPS受信直後トリガ方式に変更 ・中央値フィルタによるジッタ抑制 ・閾値制御で微小誤差は補正スキップ 【効果】 定期同期中の時刻誤差が ±0.07秒以内で安定。