Monthly Archives: June 2019

A bit of me died when I turned off my email server

As of a couple days ago, for the first time since 1997, I no longer run a production email server – I’m a bit sad about it.

I’ve long been a proponent of distributed communications systems like email. I spent a lot of time with XMPP but eventually had to concede I was never going to get my non-uber-geek contacts to use it. However, I stubbornly continued hosting my personal email on my own server. It wasn’t a huge amount of work as I had experience running email servers with thousands of users so I didn’t have to learn anything new.

Over time keeping up on the spam and email authentication tools has gotten to be more work and I’ve had some problems with Outlook classifying my domain’s email as spam. Since neither the server’s addresses nor the domain have been in any email blacklists, I presume that some of the delivery problems are simply that my little one inbox email server doesn’t generate enough traffic to build a good reputation. Add to this that my trusty server, which has been running without failure since 2007, is long overdue for a component failure made it time to move on.

AF_XDP and io_uring

io_uring is a new interface for asynchronous I/O to the Linux kernel. The LWN article and the io_uring design doc are both worth reading. I’ve been playing with AF_XDP a bit and after reading the io_uring doc it seemed like some of the io_uring ideas would be great enhancements to AF_XDP. Happily, one of the more interesting features, adding a wake-up flag to AF_XDP to avoid syscalls, was recently posted to Netdev.