XMPP is an IETF spec. Is Matrix?
22 karma · joined November 10, 2020
XMPP is an IETF spec. Is Matrix?
* it's likely easy to build/package, since deep dependency trees don't occur much in practice. Alternatively, there could be a binary available on Github.
* it's going to behave similar to https://12factor.net/
* it's going to be working in 3 years time (since the language and library authors value backwards compatibility)
* I can contribute to it, and not expect it to use some obscure async/web library that makes contributions harder.
They're all important to me. I think Go is a bit uninspiring as a language, but maybe I don't need that.
It's clear from context.
The router uses systemd-networkd, unbound, corerad, hostapd.
I'm not in a position to share my config yet. If you give me contact details, I can share a few bits.
Downsides:
* When you screw up, you can lose Internet connectivity.
* When you screw up, you can lose access to your router. I mitigate this by securing exposing the router on the Internet, and then using 4G to SSH to the router.
* It took a while for me to figure out how to get a decent IPv6 setup.
* NixOS specific: if you find some config on StackOverflow (eg) it takes a bit of time to figure out how to fit that into NixOS.
The result is great though:
* this router has been through 2-3 major upgrades, and it just works.
* NixOS is modern/popular enough that it has had wireguard/corerad packaged for a while.
* I have confidence my router is actually behaving according to its config, because NixOS does a great job of that. This allows me to easily rebuild, which is useful if I experiment with something but give up: revert code, then deploy and the router is back to its previous state.
I run NixOS on a https://www.pcengines.ch/apu2e2.htm .
The authors mention "With code completion, Git control, and even automatic deployment systems, modern IDEs are a Swiss Army Knife of features.", perhaps without realising that:
* code completion has been standardised via LSP (e.g. https://github.com/joaotavora/eglot works great, and is planned to move into upstream Emacs )
* Emacs has great Git clients (Magit, vc-git)
Diversity of tooling shows we're experimenting. Good!