For what it's worth there are now mini PCs on AliExpress with SFP+ ports. I have one running OpenWrt along with some inexpensive SFP+ modules that's been working great. Although with my setup, I opted to have an external wifi AP connected to it instead of relying on an internal wifi card.
For what it's worth, if you don't have the chip that powers this card, there's also the PicoGUS which is a multi-function, software-defined ISA card that includes the ability to emulate the Gravis Ultrasound among other sound cards: https://picogus.com/
I have a PicoGUS and have had a lot of fun futzing around with Claude and porting Cave Story to DOS [1] the last couple of months after SDL announced DOS support.
Originally I was just using it as a Soundblaster, but in the last few weeks added Waveblaster, Adlib, and Gravis Ultrasound support. It's been a lot of fun learning how the GUS works and hearing how distinctively different it is from other sound hardware of that era.
I've found that for CPU inference the PyTorch-based (non-quantized) version of Pocket TTS actually performs (both speed and quality-wise) better than the ONNX version, even after fiddling with all of the knobs that ONNX provides.
You'd be amazed what exists on the market these days. For example, the pre-terminated InvisiLight fiber cabling is 0.6mm in diameter and has a 2.5mm bend radius. I've personally installed this cabling while making many 90 degree (and sharper in some cases) bends without any issues. That makes it easy to hide and trivial to fit right through doorways and other tight spaces too.
Probably trace_log (we had a similar experience), but you'll only notice with limited storage space, and a regular keen eye on how your database fills up.
Do you have a link to results confirming this? Kroko does not seem to be on the Open ASR Leaderboard. Parakeet has an average WER of 6.32 across several common datasets.
Kroko's website says benchmarks aren't formalized yet. FWIW, this url says 5% WER for English [0]. though it doesn't specify the dataset, so not directly comparable to Parakeet's 6.32 on the Open ASR Leaderboard
After having to deal with VM hosts that do GeoIP blocking, which unintentionally blocks Let's Encrypt and others from properly verifying domains via http-01/tls-alpn-01, I settled on a DIY solution that uses CNAME redirects and a custom, minimal DNS server for handling the redirected dns-01 challenges. It's essentially a greatly simplified version of the acme-dns project tailored to my project's needs (and written in node.js instead of Go).
Unfortunately with dns-persist-01 including account information in the DNS record itself, that's a bit of a show stopper for me. If/when account information changes, that means DNS records need changing and getting clients to update their DNS records (for any reason) has long been a pain.
Key rotation doesn't change the account URI — ACME key rollover (RFC 8555 §7.3.5) replaces the key pair but keeps the same account URL, which is one of the reasons the draft uses account URI rather than a public key. Your DNS record stays unchanged through key rotations.
The only case that requires a DNS update is creating an entirely new account, and that's deliberate — the record binds a specific account to the domain so a stolen record can't be used by someone else.
For your setup with CNAME delegation to a custom DNS server, this should actually be simpler than dns-01. You would point _validation-persist instead of _acme-challenge, and the target record is static. No per-issuance dynamic updates at all.
On Linux, this is why I always turn to using abstract sockets when I only need local locking. Only one process can bind and the kernel cleans up automatically on process exit.
You could do the same thing with TCP/UDP, but abstract sockets give you more flexibility in naming with 108 characters vs. being forced to use a 16-bit integer. Also it means you aren't using up a port that could otherwise be used for actual network communication.
Abstract sockets also make for a nice process existence monitoring mechanism since any processes connected to the bound socket are guaranteed to be immediately notified when the process dies.