Linux / DevOps Engineer | HF Propagation Prediction | Sovereign AI | Amateur Radio (KI7MT, DN13)
Long-time Linux user (since the Slackware days) and active supporter of Open Source Software.
- Ubuntu user since 2005 (5.04), Ubuntu Member since ~2013
- RHEL/Fedora COPR packaging since ~2015
- Launchpad package maintainer since 2010
- Worked across Red Hat, Fedora, CentOS, Rocky, Arch, Gentoo, Alpine, and more
If it's Unix-y, I've probably broken it and fixed it.
Everything runs on local hardware. No cloud. No subscriptions. No vendor can revoke access.
| Host | Role | Specs |
|---|---|---|
| Threadripper 9975WX | Control node | 32C/64T Zen 5, 128 GB DDR5, RTX PRO 6000 96 GB VRAM, Rocky Linux 9.8 |
| Mac Studio M3 Ultra | Training node | 96 GB unified memory, MPS backend for PyTorch |
| EPYC 7302P | Build/replica node | 16C/32T, 128 GB DDR4 ECC, Proxmox hypervisor |
Networking: 10 Gbps DAC point-to-point (Thunderbolt 4 + SFP+ AOC), MTU 9000 Storage: ClickHouse on dedicated NVMe (3.7 TB), ZFS archive pool (7.1 TB mirrored) Data platform: ClickHouse (22B+ rows), PyTorch (MPS), Go ingesters (ch-go native protocol)
QSO Graph brings all of it together: research, AI/ML, propagation prediction and operating tools, for working the whole amateur radio ecosystem. A free desktop app for operators, MCP servers for the services hams use every day, and IONIS-AI propagation prediction.
A free, open-source desktop app for amateur radio operators, for Windows, macOS and Linux: callsigns, locations, POTA, SOTA, ADIF, and a live WSJT-X Monitor.
- macOS:
brew install --cask qso-graph/tap/qso-graph-desktop - Linux:
apt install qso-graph-desktopordnf install qso-graph-desktop, from signed repositories at packages.qso-graph.net - Windows: signed installer from the release page
Every build is signed, macOS builds are notarized, and the app updates itself only when you say so. See the install guide.
22 servers and 150 tools, each a separate package on PyPI, with credentials kept in the OS keyring and every outbound connection over HTTPS.
| Area | Servers |
|---|---|
| Logbooks and QSLs | qrz-mcp, lotw-mcp, eqsl-mcp, hamqth-mcp, adif-mcp |
| On the air | pota-mcp, sota-mcp, iota-mcp, netlogger-mcp, omiss-mcp, n1mm-mcp, jt-mcp, dxe-mcp, qso-graph-contest-mcp |
| Propagation and space weather | solar-mcp, wspr-mcp, ionis-mcp, eme-mcp, meteor-mcp |
| Zones and reference | cq-zones-mcp, itu-zones-mcp, darc-dok-mcp |
IONIS-AI (Ionospheric Neural Inference System) — a self-hosted AI system that predicts HF radio propagation from one of the largest curated amateur radio datasets we are aware of. 22+ billion spots. Zero cloud dependencies.
The logs were speaking for decades, but nobody was listening. Now we're listening.
| Repo | Language | What It Does |
|---|---|---|
| ionis-apps | Go | High-performance data ingesters (22 Mrps) with watermark tracking |
| ionis-core | SQL/Shell | 36 ClickHouse DDL schemas, 15 population scripts |
| ionis-cuda | C++/CUDA | GPU-accelerated signature embedding engine |
| ionis-training | Python | PyTorch model training with physics-constrained sidecars |
| ionis-mcp | Python | MCP server for propagation analytics (12 tools, PyPI) |
| ionis-jupyter | Python | Jupyter notebooks for propagation research (10 notebooks, PyPI) |
| ionis-docs | MkDocs | Documentation site |
| Source | Volume | What It Tells Us |
|---|---|---|
| WSPR | 12.9B spots (18 yrs) | SNR floor — path exists at minimum power |
| Reverse Beacon Network | 2.40B spots (17 yrs) | Skilled operator layer — CW through the noise |
| CQ Contest Logs | 388M QSOs | Ceiling — voice-workable at contest power |
| PSK Reporter | 7.2B spots (live) | Operational — can a real operator make a contact? |
| DSCOVR L1 | Solar wind (live) | Predictive — Bz gives 15-45 min lead over Kp |
IONIS V22-gamma (Production) — Pearson +0.49 vs VOACAP +0.02. 98% recall on independent live data. 207K params, physics-constrained solar and geomagnetic sidecars. Every watt of inference runs on local hardware.
Open for discussions on Linux, DevOps, Amateur Radio, HF Propagation, or AI.
Reach me on GitHub Discussions or via ki7mt.io




