My avatar


Level 10 Computer Mage

Maddy: the five-minute mail server

Published on 2022-01-09 by flewkey

I am waiting at the airport this evening, cursing the weather for delaying my flight for so long. I’ve already bumped my packages, so I might as well gush about some software that I adore.

A few months ago, cricket published a blog post outlining how she configured her mail server on OpenBSD. Reading this post made me consider self-hosting my email as well, since Yandex is a pain in the neck to deal with. However, configuring a mail server seemed annoying as well, so I put it off.

A few weeks later, I learned about the Maddy Mail Server, a moment which forever changed my life. The server is a single daemon with a sane default configuration, requiring no significant dependencies by default. It is so simple and foolproof that even I could set it up. After packaging it for Debian, guided by the installation instructions, it was smooth sailing.

Installing maddy


Setting up maddy is as easy as configuring NGINX. It only took me five minutes to get up and running. There are no more excuses: self-hosting email is easy now. If you are interested, please give it a go.

Articles from blogs that I like

Announcing git snail-mail

You’ve heard of git-over-email thanks to git send-email — now you can enjoy git snail-mail: a new tool making it easier than ever to print out git commits on paper and mail them to your maintainers. Running git snail-mail HEAD~2.. prepares the last two commi…

From Drew DeVault's blog
Published on April 1, 2022

When optimizations make the code worse, aka GCC and Clang are fucking retarded.

Both GCC and Clang are obsessed with constant / value range propagation. Unfortunately they are far too stupid to actually apply such optimizations appropriately. A common pattern that both compilers completely fuck up is testing a pointer for NULL and … …

From DeadFish Shitware
Published on January 16, 2022

Computer Science Basics: Types (in dart)

Inside of the dart language most types come from from the parent type Object which could be called the root type in this case. From the root type in the case of dart you can end up with a type tree a little like this for the basic types. With this tree her…

From Technically Alex's blog
Published on May 11, 2021

Generated with the spectacular power of openring