When UNIX is your platform you don't need a complex UI framework with thousands or millions of lines of codes, and you get to reuse knowledge you've already built elsewhere.
I need to write more about it
I also find fzf to be very good for building simple UIs. In fact I saw ways to do 80% of burgr with a few lines of fzf; composable tools really are the bee's knees
All of these machines are running OpenBSD, except the gaming machines and the HTPC.
• Outgoing Email: OpenSMTPD, with mandatory TLS. Since I’m the only one sending email from my domain, the outgoing relay is hidden behind my LAN and my DKIM keys never leave my network. Outgoing mail gets routed via Wireguard through a VPS so it doesn’t look like it’s coming from a residential IP block.
• Incoming Email: OpenSMTPD on my MXes, with MTA‐STS and DNSSEC/DANE so as many senders use TLS as possible. Delivers to Maildir on my LAN, which I access directly using mblaze over SSH (https://github.com/leahneukirchen/mblaze) and IMAP via Dovecot (which supports Maildir backend).
• Roundcube webmail.
• DNS zones: NSD running on two VPSes, slaves pulling their config via WireGuard from the master which runs in a VM on my LAN.
• Public webserver, with personal (public) homepage, Git repositories (clonable and browsable via CGit), photo gallery, files/images/random files when I need to share them by sending a link in IRC, etc.
• Matrix: Synapse for the server, Element for the client. Besides hanging out in Matrix rooms I use this for one‐on‐one audio calls with my friends (generate a link, send it to them, and chat through the browser).
• Pleroma, so I can interact with the Mastodon network.
• Apertium for text translation. The range of languages is a bit limited but for supported pairs it’s nice to avoid Google Translate.
• A home theater PC in my living room running Kodi, which pulls all my Blu‐Rays from a home NAS.
• A powerful gaming machine that uses Steam to stream games to either the HTPC or my Steam Deck. I only use this at home… I wonder how bad the latency would be if I connected to it when on a trip?
• My music collection, whether ripped from CD or bought digitally, is automatically tagged and sorted with Beets, and I run the web plugin to access it over the web. Beets’s web interface is kind of primitive; I would love to replace it with something like FunkWhale.
• Full mirrors of websites with free content: Wikipedia, Wikimedia Commons, Wiktionary, Stack Overflow, Project Gutenberg, Standard Ebooks
• Full OpenBSD package mirrors
• OpenStreetMap, running OSRM (routing) on top of an open source Leaflet/Mapbox demo I set up years ago. I’ve been meaning to update this to something more modern and less reliant on Mapbox software.
• Radicale for CalDAV/CardDAV, so my calendar and contacts are synced across all my devices automatically.
• Home adblocking with Unbound (what most people use PiHole for I guess). DNS lookups for my home network are anonymized with DoH over Tor (CloudFlare provides documentation for how to do this).
• Ways to access my home network when away from home: WireGuard VPN in a roadwarrior configuration; public‐facing SSH (with WebAuthn‐backed keys); failing that, an HTTPS proxy with Squid. (Yes, I have been stuck at conferences where the wifi network blocked SSH, WireGuard, and all traffic that wasn’t HTTP/HTTPS or DNS from the blessed server!)
https://github.com/leahneukirchen/mblaze
I've started cataloging all the terminal mail clients in a list: https://erock.lists.sh/terminal-mail-clients
Happy to add others if people know of some that I've missed.
If you're a CLI junkie like me, I think you'll like mblaze[0]. It's written by one of the maintainers of Void Linux, Lea Neukirchen, FWIW.
[1]: https://todo.sr.ht/~sircmpwn/aerc2/94
My current stack is: Mutt, Neovim, fdm, msmtp, Syncthing, notmuch, lynx (for HTML conversion), mblaze [2] (for scripting), and a tiny pair of scripts to snooze and unsnooze e-mails. Here is an interesting observation, although a pipeline like this may look terrifying, it makes swapping in Aerc to take it for a spin trivial since it all interacts with a Maildir.
Location: Hokkaido, Japan
Remote: Absolutely (have prior experience)
Willing to relocate: Unlikely
Technologies: Linux (sh, coreutils, *etc.*), shellcheck, bats, C, valgrind, gdb, radare
Interests: APL/J/K, Haskell, metamath, reverse engineering
Side projects: 8-bit TTL CPU, Makefile linter (*a la* shellcheck), J port of co-dfns[1]
Résumé/CV: wilsonb.com/cv.pdf
GitHub: https://github.com/xelxebar
Email: [email protected]
Professionally, my experience is mostly in backend and systems engineering. Academically, my background is in math and model building. Personally, a significant amount of my time has been spent tinkering with linux userspace.
From my GitHub profile, you can see a few (old) projects and several PRs that I have authored. This should give a taste of my sensibilities regarding good communication and code practices. Most of my personal repositories I host personally at my website wilsonb.com. If interested, please let me know and I can provide read access.Just for fun and to get a flavor of my personality, here is a bit of what my daily driver looks like:
OS: Void Linux
Window manager: bspwm (modular and tiling)
Terminal emulator: st
Mail User Agent: mblaze[0]
Browser: lynx and qutebrowser
[0]:https://github.com/leahneukirchen/mblaze
[1]:https://github.com/Co-dfns/Co-dfns Location: Hokkaido, Japan
Remote: Absolutely (have prior experience)
Willing to relocate: Unlikely
Technologies: Linux (sh, coreutils, *etc.*), shellcheck, bats, C, valgrind, gdb, radare
Interests: APL/J/K, Haskell, metamath, reverse engineering
Side projects: 8-bit TTL CPU, Makefile linter (*a la* shellcheck), J port of co-dfns[1]
Résumé/CV: wilsonb.com/cv.pdf
GitHub: https://github.com/xelxebar
Email: [email protected]
Professionally, my experience is mostly in backend and systems engineering. Academically, my background is in math and model building. Personally, a significant amount of my time has been spent tinkering with linux userspace.From my GitHub profile, you can see a few (old) projects and several PRs that I have authored. This should give a taste of my sensibilities regarding good communication and code practices. Most of my personal repositories I host personally at my website wilsonb.com. If interested, please let me know and I can provide read access.
Just for fun and to get a flavor of my personality, here is a bit of what my daily driver looks like:
OS: Void Linux
Window manager: bspwm (modular and tiling)
Terminal emulator: st
Mail User Agent: mblaze[0]
Browser: lynx and qutebrowser
[0]:https://github.com/leahneukirchen/mblazehttps://github.com/leahneukirchen/mblaze - As the author says, "Unix utilities to deal with maildir".
https://github.com/aligrudi/neatmail - A noninteractive client with ex-like commands
http://plan9.stanleylieber.com/mother/ - for Plan9 people.