I got mmap-object to support buffers as values. It also now conforms to the iterable protocol making efficient iteration possible.
I use an AWS-hosted FreeBSD server as my main “desktop.” SSH/Mosh as my access method, Tmux as my windowing system, Alpine for email, Weechat+Bitlbee for IRC/IM/SMS, Emacs for editing. The SSH server also listens to ports 53, 80 and 3128 to aid in getting around various silly “firewall” “solutions”. I keep ttyd around for those times when all I’ve got is web access.
The same box that runs all that also runs my Asterisk server. And my email system. And a Lounge instance. And syncthing (w/syncthing-inotify), Prosody, MySQL, ZFS, a photo server and about 800 (very low-volume) web sites.
I’m also using Postfix+Dovecot with Spamassassin for spam checking. I’m an Alpine user but keep a Roundcube instance (under nginx w/PHP-FPM) up for friends&family.
Some particulars on my setup:
I gotta have full text email searching and use a dedicated Solr machine for that. Apache Tika indexes the insides of attachments and classifies images. A search for “automotive” finds the Excel spreadsheet with insurance rates in it. A search for “dog” finds shots of the neighbor’s corgie.
Solr is resource intensive but worth it. I can search a 200K+ message inboxes in a blink, faster than I can get Gmail to do the same.
Several of my users are fellow Carnegie Mellon alum who used Sieve at school. So I’ve got Pigeonhole stuck on the side of Dovecot for that. Managesieve lets them set thier filters via Roundcube.
I’ve got a few other Roundcube plugins installed. sauserprefs lets users manage their own Spamassassin thresholds, whitelists/blacklists, rulesets and other config items. password lets them chat their account’s password via the web. Enigma handles email encryption.
I use policyd-weight. It’s a big help.
I moved to AWS from bare metal some years back (right after it become possible to do HVM installs of FreeBSD on EC2). All AWS datacenter IPs are on some blacklists and some of them are on many blacklists. Things that have helped keep Google and others from rejecting mail:
Making sure both my addresses (both IPv4 and IPv6) have PTR DNS records that resolve to the canonical hostname. You have to request this from Amazon by filling out https://aws.amazon.com/forms/ec2-email-limit-rdns-request
Making sure all my domains have DKIM and SPF records and that outgoing email has DKIM Signatures.
Checking my IP addresses with the excellent MultiRBL checker at http://multirbl.valli.org/ and taking what steps I can (including getting new IP addresses) to keep off blacklists.
Getting my email service to a high level of quality has been a lot of work. But now my email system is faster and more responsive than Gmail. I also enjoy far more visibility and control and can do some tricky things (like per-origin email domains) that wouldn’t be possible using a “normal” email service.
My favorite job of all time was the nearly 17 years that I ran my own company.
Between the time I was in high school and the time I quit my last legitimate job, I’d worked maybe 5 jobs over 7 years. I quit that last job to go full-time with the company I had started with my friend and business partner a couple years earlier.
Over the next 17 years I went through a lot of stuff. Losing my friend and shortly thereafter, though not immediately, losing my business partner. Coasting along. Doing very well for a little. Then, after the establishment of my second company, very, very well for some years. In the end, my first industry went a different direction than I could manage to deal with. The second dealt out a little more than I was willing to deal with.
In the 11 years since, I’ve worked maybe 7 jobs. I was able to dust off my degree in CS and put it to use. First with a middling programming job. I got a couple lucky breaks and worked some very nice jobs. Things improved since the first day. I now make in salary what successful doctors or lawyers often make.
But, even now, it’s nothing like it was when I had my own thing. I was the guy in charge, the person who everyone went to. More importantly, if I saw something I thought should happen I had the ability to really do something about it. Like, really help a customer in the long term. Or get something new and unknown to people who really want it, or really need it.
I’m not sure if I’ll ever be able to get back to that. But if I were to, I’m pretty sure it wouldn’t be as anyone’s employee.