How to Run Your Own Mail Server (2017) - <AUTHOR> https://www.c0ffee.net/blog/mail-server-guide <comment><USER2> I run my own mail infrastructure. To say the least I wouldn't recommend it even to my worst enemies. It's horrible.

Actually it's fine until it's not. Then your email doesn't work and you could be missing out on important communications. And then you're scrambling to figure out how the spammers managed to exploit your setup this time. And you have to learn a tonne of crap in order to manage it... and the text files! Configuration... configuration everywhere. Obscure configuration. Configuration that has real consequences and causes spooky action at a distance. Configuration that will soon be exploited in strange ways.

I was so frustrated the last time my mail server went down that I started writing an SMTP protocol handler in Haskell with the intent of writing a MTA with the goal of minimizing configuration and being secure and resistant to attacks by default. So that hopefully more people _can_ run their own infrastructure without prematurely aging. I dunno how useful it will be to others but at least it will keep my gray hairs at bay, I hope, when it's ready for use.

Until then though we need more guides like this for us poor souls who do go down this route. There are way too many out-dated guides awash in the sea of information.

<comment><USER3> "And then you're scrambling to figure out how the spammers managed to exploit your setup this time."

...

" ... writing a MTA with the goal of minimizing configuration and being secure and resistant to attacks by default. "

As a 20+ year UNIX sysadmin and fellow owner of my own email infrastructure for 18 of those, I am surprised to read this and am not even sure what you are talking about.

Can you explain what you mean by attacks and exploits from spammers ?

Other than accidentally running _as a relay_ or actually having a remote exploit in your server(s), what are the attacks that you have in mind ?

"Configuration that will soon be exploited in strange ways."

Again, am genuinely interested in an explanation ... other than running as a relay, and maybe handling backscatter (but that's not really config, it's just a blacklist) what are you referring to ?

<comment><USER4> I'm in the same boat - been running my own mail since the 90s. I could understand complaints about lots of weird hoops to jump through to get mail from your server _accepted_ elsewhere - that has become harder over time[1] - but there's a very short list of things that need to be done to avoid being hijacked.

Mail server setup for the uninitiated does look a little daunting, especially if you're more accustomed to "all-in-one"-ish software. If you want to do this, I recommend starting with making sure you have a clear mental model of mail server architecture, especially where it touches other things (DNS, DKIM, spam filters, local delivery, probably IMAP, maybe LDAP, maybe databases, etc.) Without a clear idea of the dataflow and reasons for different decision- points, you're going to have a very bad time troubleshooting things.

[1] SBCGlobal.net has been rejecting me for over a decade despite there being zero spam ever having been emitted by my domain. Eh, my userbase communicates with exactly one SBC user; ATT can bite me.

<comment><USER5> I've been running my mail server for 6 years now. Mail to Microsoft's servers (live.com, etc.) keeps ending up in the spam folder, even though spf, dkim and dmarc are set up and my IP has been clean for the entire period. The bright side is that I only notice this in the rare case of "mail to all contacts", since noone is on outlook.com these days.

<comment><USER6> Yes, live.com is a problem for us too. It seems they silently blacklist ip addresses and make it very difficult to get off that blacklist. There's a thread here about it with some of us trying to figure out how to solve this problem:

[https://answers.microsoft.com/en- us/outlook_com/forum/oemail...](https://answers.microsoft.com/en- us/outlook_com/forum/oemail-osend/emails-blocked-by-smartscreen-microsoft- wont-help/ff469ac8-e9ab-42b8-b8f1-7c2bf0fa46eb)

But other than that, running my own mail server hasn't been much of an issue. Set up sendmail, use public blacklists for spam control, and it pretty much runs without any intervention.

<comment><USER7> Outlook.com/Microsoft blacklists entire subnets because there are spammers in the same IP range. It's ridiculously lazy practice. They should just block IP addresses that are actually sending SPAM. It's not like that's a problem technically. You can fit all IPv4 addresses into a 512MB database.

I'm thinking of solving it by blacklisting outlook.com domain, so that senders at least know that I can't respond to them. I can put a message in the error response, that will be reliably relayed to the sender by the sending system.

Google's slightly better. Recently I did an experiment and created a few gmail accounts and sent some riduculously spammy messages full of typical keywords in between those gmail accounts, and they were all successfully delivered. Always.

Then I sent e-mail from new gmail account to my email server and simply responded and it went to spam. It's ridiculous that such a simple heuristic like someone responding to a message gmail user sends doesn't get the message through spam filters, even though the system can clearly determine taht the message is legit based on many variables (References field referencing message-id of the original message (noone else than the recipient should know this), reply being from a correct source (DKIM/SPF), message having normal looking business content, etc.).

There's way too heavy a weight on sending server IP range reputation.

<comment><USER6> With gmail you can at least request that they unblock you, and they will do that. With live.com and icloud.com you have to spend inordinate amounts of time bouncing between useless support people before you get anywhere. gmail in general seems to have the best spam filter (lowest false positives and negatives).

<comment><USER8> In my experience live.com was an easy fix.

But gmail was not. Even as a business user with support.

Gmail rejects me as an ugly spammer at the gate when using IPv6 but not when using IPv4.

My IP addresses are not listed in any public blacklists.

And the Borg hivemind is not able to tell me why. Gmail support is friendly but have no knowledge of their filter nor an escalation path.

The amusing part is they reject me as a bulk sender. But when I register into their bulk mailer program my volume is too low.

This is with strict SPF, DKIM, DMARC and registered with dnswl.org.

<comment><USER6> Did you fill in the delivery problem form?

[https://support.google.com/mail/contact/msgdelivery?vid=0-35...](https://support.google.com/mail/contact/msgdelivery?vid=0-354046174408-1517070954580)

I had a problem with ipv6 myself with gmail, but the problem was that I just didn't have ipv6 fully set up on my server, so either SPF or reverse DNS wasn't working or something like that. I think I just configured sendmail to only use ipv4 and that solved the gmail issue.

<comment><USER9> "I think I just configured sendmail to only use ipv4 and that solved the gmail issue."

This was my experience, too. I took this advice [1] configuring postfix and Gmail started to accept my emails.

[1] [https://christian.skala.me/blog/gmail-why-are-you-doing- this...](https://christian.skala.me/blog/gmail-why-are-you-doing-this-to-me/)

<comment><USER6> My issue was that I wasn't very familiar with ipv6, and my ISP (OVH) apparently gave my server a range of about 256 ipv6 addresses, and I didn't really know how to properly set up reverse DNS and SPF. After spending a day or two getting nowhere, I just decided to turn off ipv6 completely for the server.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> > Before we dive in, an important caveat: You will become a sysadmin of your > own mail server.

This for me is the deal breaker. I say this as a sysadmin.

It's all well and good running a single server but if that shits the bed then you have to deal with it immediately.

So to run something that doesn't require 24/7 support I now have to run a cluster of servers.

I'll also need something to manage those servers like salt/ansible/puppet

I also need to deal with being my IP blacklisted because of a previous owner, or just entire domains now delivering my email because they don't like the fact i'm not using $email provider

Then there is spam filtering and the constant battle that is.

Or I could just pay someone a couple of bucks a month to worry about all that shit and not worry about it.

<comment><USER11> I've been running my own mail servers since the mid-90s, and always only a single server. SMTP keeps retrying, so you can be offline. The transport layer was designed to deliver mail to servers even if those servers only dialled in to one of the "internets" once per day, so it's fine to have some downtime.

It's totally up to you how you prioritise getting a server back up again, and frankly if the message can't handle at least a few hours delay then email probably isn't the right medium for it.

<comment><USER12> > frankly if the message can't handle at least a few hours delay then email > probably isn't the right medium for it.

This may have been the case in the mid-90s, but it is certainly not the case today. I frequently receive emails that require immediate attention, whether from my employer, my bank, or any number of other notifications. Normal email users expect emails to be delivered in seconds, not hours.

<comment><USER13> > Normal email users expect emails to be delivered in seconds, not hours.

their expectations are unreasonable. gmail, etc don't even manage that much of the time, let alone guarantee it.

<comment><USER14> Sure, everything is best-effort on the web but <10s delivery is pretty much the norm now.

</comment></comment></comment></comment></comment><comment><USER15> Yeesh, there's so much involved.

I've been running my own mail server with [https://mailinabox.email](https://mailinabox.email) for ~2 years and can heartily recommend it.

Still, even with that there are gotchas if you want to be able to send messages from your server to Google et al, eg. reverse-DNS-records, DKIM, SPF.

Not for the pressed-for-time.

<comment><USER16> About 2 years ago I had a customer that required their own private mail server. I set up Mail-in-a-Box on a $5 Digital Ocean droplet, and they've been happy with it ever since.

The integration with Let's Encrypt and a relatively smooth upgrade process has made it one of the more enjoyable services I manage. I would highly recommend it.

</comment></comment><comment><USER17> I'm surprised by how many people think mail is an impossibly hard problem. There some things about mail that are stupid; the core protocols are old and it shows. But, once things are working, you can leave it alone for years (aside from regular software updates) without trouble. I have. I've never not run my own mail servers (and often for several other people/companies/projects, as well) in the past 20 years. I used to consider myself an expert on the topic, but it's required so little of my time/thought in the past several years that I've forgotten most of that expertise.

I think what I'm trying to say is that it's not harder than it used to be (though some problems, like spam and security requirements for safety, have gotten worse in absolute terms). With modern tools and packaging on modern Linux distributions, you can be up and running pretty quickly. My company ships a turn-key solution as part of Virtualmin, but you can build something similar without that in an afternoon or two if you're reasonably Linux-savvy and have some notion of how all the pieces fit together (maybe a couple extra afternoons if you don't know the basics; DKIM and SPF can be tricky, since you also have to know or learn you some DNS).

It's harder than a web server or DNS server, but not something you should flee in terror from. Admittedly, it's gotten cheaper in recent years to outsource it...and with microservice-based architectures, maybe it makes more sense to have some other API than SMTP (though SMTP is very easy to use from every language I've ever worked in). But, there are problems and complexities with outsourcing, as well.

<comment><USER18> I seriously always failed getting over that first hurdle every time I tried. I didn't try this one yet, but most guides deviate from whatever my setup will be by a little, and that then increases to a lot of investigation work with pretty unclear config values and not a lot of debugging tools.

Have I invested enough energy? Apparently not. But I'm over the weekend-sized amount by a multipler bigger than three.

</comment></comment><comment><USER19> I've done this before. It's a pain in the ass. You have to run several different programs each with hundreds of configuration options, make sure the different programs can communicate with each other properly, make sure your email doesn't get flagged as spam, and be your own sysadmin. All for marginal benefit.

It would be great if someone wrote a program handling all of this that could be deployed as a single binary with secure defaults and limited configurability, but I don't see that happening any time soon. Email providers are good enough for almost everyone and the people who are good enough programmers to make sense of all the different protocols they'll have to deal with and get everything to interoperate nicely probably have other things to work on that people will actually pay for.

Edit: That said, this guide does look like a great resource for someone who is interested in doing this. It's interesting to learn how email works and if I had this guide when I started out I'd have saved a ton of time.

<comment><USER20> I started working on this a while back and got as far as writing a collection of scripts that spins up a mail server from scratch and does all the configuration. It's not complete (doesn't include spam filtering or search) and it uses Common Lisp to drive the process, which is the main reason I haven't published it. I didn't think there would be much interest in something that obscure. But if there is interest I'd be happy to clean up the code and put it on github.

</comment></comment><comment><USER21> I've run my own mail server ever since I got something resembling broadband internet in 1996. Back then spam was non-existent, Sendmail was the emperor without clothes about to be dethroned and I hacked _sendmail.cf_ without needing to look at the the bible [1].

I've never regretted running my own server, nor have I ever contemplated moving to a hosted solution. Spam is not a problem either, Spamassassin in combination with a greylist make for a nearly spam-free experience. The whole setup has been migrated from the original Pentium-66 via an aBit-BP6 (SMP for the masses [2], retired in 2009) to the current Intel SS-4200 (upgraded to a dual-core Pentium but still limited to 2GB). In practice a Raspberry Pi would be enough to run a viable mail server so even this rather anaemic setup does its job without breaking a sweat.

The whole setup consists of Debian (Sid) running Exim through a smarthost, feeding through Spamassassin + greylistd into Dovecot. Apart from some auto- manual intervention to cope with Microsoft/Google/... not coping with the greylisting and thus needing whitelisting it more or less _just works_. In other words, just go ahead and run your own server.

[1] [http://shop.oreilly.com/product/9780596510299.do](http://shop.oreilly.com/product/9780596510299.do)

[2] [https://en.wikipedia.org/wiki/ABIT_BP6](https://en.wikipedia.org/wiki/ABIT_BP6)

[3] [http://ss4200.pbworks.com/w/page/5122751/FrontPage](http://ss4200.pbworks.com/w/page/5122751/FrontPage)

<comment><USER22> What do you estimate has been your total investment of time in running your own mail server?

<comment><USER21> Initial setup took a few days of experimenting, that was back in the days of Sendmail. After that is ran fine for a while until spam starting becoming a problem. I eventually implemented a spam filter with Spamassasim with a nightly cron job to train it with spam which made it past the filter. After a few years I added greylisting to the mix which ended up complicating matters a bit due to some common mail hosts (Google and Microsoft being the biggest culprits) breaking the concept of greylisting by using different mail hosts for resend attempts. I made a script to add all SPF-allowed IP ranges for a domain to the whitelist which solved that problem.

Total time spent on the mail infrastructure over these 22 years is negligible, probably ~8 hours per year.

</comment></comment></comment><comment><USER23> This is an interesting write-up, but doing it like this files like way too much work.

I have been using mailcow[0] for years now and it does all of this for me and works great. The UI is beautiful and intuitive. And setting up mailcow literally takes a few of minutes, since the project was ported to docker. Highly recommend it.

[0] [https://github.com/mailcow/mailcow- dockerized](https://github.com/mailcow/mailcow-dockerized)

</comment><comment><USER24> How to run your own mail server: Don't.

How to run your own mail server (for experts): Don't.

I say this as someone who has run my own mail server for 20+ years.

Now, if you absolutely have to get off Google, and the other available hosted options don't work for you, then this article looks like a good start. I'd add roundcube for web access and letsencrypt for SSL.

One thing you'll never really get, in my experience, is good spam handling. The big providers just have so much more data to work with to prevent spam.

<comment><USER25> > One thing you'll never really get, in my experience, is good spam handling.

Not in my experience. I'm in general very happy with the results of SpamAssassin. Occasionally sth. slips through but when I compare it to my gmail account it's not worse, maybe even better. The only thing I use in addition is postscreen [1] (pregreet test only) to stop the dumbest category of spam bots.

[1] [http://www.postfix.org/POSTSCREEN_README.html](http://www.postfix.org/POSTSCREEN_README.html)

<comment><USER24> I used SpamAssassin, greylisting, SPF, a variety of RBLs, and hashcash, but never got anywhere near what my gmail experience has been. I literally almost never get spam to my main mailbox in gmail, I would get a dozen or more a day on my own server.

</comment></comment></comment><comment><USER26> > on FreeBSD using Postfix, Dovecot, Rspamd, and LDAP.

That seems like an awful amount of work / overkill. This is not a good introduction for a normal geek, and die-hard open source fans will figure it out without too much trouble anyway.

Postfix is not the best choice for novices, FreeBSD is not the most well- supported/documented system just because it's not as popular as some others, and a directory service shouldn't be necessary.

We had to setup Exim, Postfix or Sendmail for school. Sendmail was universally hated the most, Postfix came in second, and Exim was... well, not exactly logical or easy, but the best of the three mainstream MTAs.

I'm running hMailServer at home. Windows-only, unfortunately, but until I find a proper replacement, I'll just keep running it in a VM. Nothing else even comes close in admin-friendliness. It's just install and run, with either a local admin interface or a web interface (using PHP, so it runs anywhere).

<comment><USER27> > Postfix is not the best choice for novices,

I'll give you that in general, mail servers are not for novices, and they have a huge array of configuration options, but Postfix is by a wide margin the best piece of software that I've come across the last couple of years, and I've been using it for a long time because of that.

It's reliable, it works exactly as documented, it's up to date, it's documentation is excellent, and it's community helpful, if overly precise - but then that's exactly what makes it so good.

I've literally never come across any problem with it, that turned out to be problem of postfix.

I can't say that for any other piece of software that I know.

<comment><USER26> > mail servers are not for novices

I invite you to look at hMailServer. I set this up when I had a reasonable clue about SMTP and only a vague understanding of POP3 or IMAP. Let alone how spam filters worked ("they look at words like viagra" was my understanding) or what mailing lists are.

It's really a Windows-like utility in the sense of next-next-next-finish. By now I despise most Windows Server wizards for not being flexible enough and prefer command line tools on GNU/Linux, but this mail server is one thing I just cannot find a good replacement for, and the interface provides everything I need (no need for command line or config file magic).

<comment><USER28> Postfix is popular, secure, flexible, well documented, and likely to be around in 10 years. The defaults are quite sane and it's battle tested on numerous large mail servers.

For a simple domain you only have to edit a few lines that numerous tutorials cover. Combining it with dovecot (similarly well designed, secure, popular, battle tested etc) makes for a robust setup.

Sure don't make the mistakes the OP made and allow relaying for the the entire internet. I can't imagine any sane tutorial has relaying enabled by default.

I've never heard of hMailServer, but hard to imagine it would be worth while and I wouldn't want to bet on it being around in 5-10 years. If editing a few config files and changing a few lines scares you then don't run a mail server. Otherwise pick something popular, well tested, and robust. Sure postfix+dovecot isn't the only solution, but I wouldn't pick something small/obscure/new either.

</comment></comment></comment></comment><comment><USER29> I started running my own email server around 2014. I am using every mitigation I can find, but I still get an unending torrent of spam that slips through.

If tweaking spam filters and deleting spam is your idea of fun, then run your own email server.

<comment><USER30> I've been running since 2001. There were some rough years in there with spam and big providers rejecting for no good reason. Now it has been years since I've had any delivery issues. As for spam, I get 2-3 a week that make it through, but I don't make any effort to tweak it.

Thanks for bringing up the painful memories of adding new filters each night. So glad those days are over for me.

<comment><USER31> Big providers probably rejected you in the early days because you were an unknown sender back then.

</comment></comment></comment><comment><USER32> I've run my own mail for about 15 years. Just recently stopped.There was nothing wrong with the process, it worked. But I thought about how much time I've spent on running my own domain and email over the last couple decades, and added up what it got me over those years... and the value just wasn't there.

I know the article is concerned with owning your own data, and I appreciate the point. But finding a mail provider that meets your needs is, IMO, a better way to spend your time than just saying "Gmail isn't good for me, so I'll do my own."

</comment><comment><USER33> I use iRedMail and set up my own mail server for my small business. I am beginning to wish I hadn't, even though I've had literally 0 problems outside of a single reboot to fix an issue.

[https://www.linuxbabe.com/mail- server/ubuntu-16-04-iredmail-...](https://www.linuxbabe.com/mail- server/ubuntu-16-04-iredmail-server-installation)

I dunno. I feel like I'm sitting on a timebomb. It's hosted on DigitalOcean and while it works great with RoundCube and gmail... eh. I dunno why I even did it in the first place.

<comment> le-mark Other than the feeling of 'sitting on a timebomb' are there any other specifics you can cite? Have you looked into contracting someone for a few hours a month to check/update things? I have considered doing what you have done, and your feedback has piqured my curiosity.

<comment><USER33> Not really. Just everyone smart I talk to says the same thing as everyone else in this thread: Don't do it. I'm not a sysadmin, I'm a developer who runs a company and doesn't even work in IT in my own company anymore. Bleh. So far so good, though....

</comment></comment></comment><comment><USER34> > Getting off GMail is one of the best ways to take back your data in the face > of dragnet surveillance.

This just isn't true. You can host your own mail server and GMail will probably still end up hosting a large fraction of the email you read and write, because _the people you correspond with_ are still using GMail.

(In the same vein, you can refuse to have a Facebook account but Facebook probably has a dossier on you anyway. Enough people you know have dumped their contacts into Facebook that they already know your place in the social graph.)

<comment><USER35> That is a very defeatist position.

<comment><USER36> Defeatest of realist?

You can and should work to reduce your footprint if that concerns you, but there are still systematic issues that make it hard to stay completely outside of there services. Mainly what OP mentioned with contact uploads.

</comment></comment></comment><comment><USER30> Icing on the cake: Sprinkle a little Let's Encrypt in there to cover SSL. It doesn't take much to have a cron make a new cert and restart dovecot and postfix.

My setup is similar, but it uses MySQL instead of LDAP.

I love being able to make aliases and even better - deleting them when I'm done with them.

<comment><USER37> Author here - I plan on switching to Let's Encrypt once they support ECC certificates.

<comment><USER38> Why do you need ECC certificates?

<comment><USER37> I don't need them, I just prefer them. They are arguably more secure and require much lower CPU usage.

<comment><USER39> Any reasonably modern x86_64 CPU can do more than 1000 RSA2048 signs (~ TLS handshakes) a second, per core. Performance considerations really aren't a good reason to not use RSA for TLS KEX.

</comment></comment></comment></comment></comment><comment><USER40> There's no reason to not at least run mail-in-a-box if you consider yourself a technical person but have limited time. It's absurdly easy to set up and the maintainers / contributors do an awesome job.

Running your primary email on these big hosting companies is taking your privacy and pissing it right down the drain.

It's really not that hard folks.

[https://mailinabox.email/](https://mailinabox.email/)

</comment><comment><USER37> Author here - happy to respond to any questions.

<comment><USER41> How much of this is common to a Mac OS Server mail setup?

<comment><USER37> I believe OS X uses many of the same components under the hood. I have toyed with OS X Server.app (mostly just to get the necessary certificates to get IMAP push notifications working with iOS/Dovecot[1]) and it seems like a really solid choice.

Not sure how you go about colocating a Mac Mini in a datacenter though.

[1] [https://www.c0ffee.net/blog/dovecot-push- notifications](https://www.c0ffee.net/blog/dovecot-push-notifications)

<comment><USER41> You use it with your home ISP on a static-IP address.

<comment><USER37> Any outgoing mail will almost certainly be spam-blocked if you send from a residential IP. Also, most ISPs block port 25.

<comment><USER41> Nope.

When you ask your ISP for a static-IP address, your service goes from Residential to a more expensive Business account, and they open up outgoing mail ports. (At least for Verizon FIOS that I'm on, pretty sure Comcast is same as well.)

Cloud IP addresses are probably more problematic for spam blocklists.

<comment><USER37> Glad it works for you. My comcast connection is far too unreliable to ever rely on for email!

Curious though, can you also set your own reverse DNS entry for your static ip? I've found many mail servers will reject your mail if rDNS records don't match up.

<comment><USER42> I'm also running a server on a Comcast business service with a static IP. My service has been really stable. This must vary on area. Also it seems if you're on business class, the techs take you more seriously. When I _did_ have some stability problems the tech they sent out did a few tests, then went to the entire first floor (5 units) of the condo building with big sticky notes telling them to schedule a service appointment or have their service blocked.

Getting reverse DNS was easy. Following the directions I found via Google I went into the Comcast business service forums, read their pinned posts and sent a PM to the current service guy. He set the reverse DNS for me. It took about a day.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER43> Why not use solutions like iRedmail or Mail in a box?

iRedmail - [https://www.iredmail.org/](https://www.iredmail.org/) Mail in a box - [https://mailinabox.email/](https://mailinabox.email/)

They allow you to setup your own mail server and yet make it easier to get started.

I have been using iRedmail and it has been working well so far.

</comment><comment><USER44> Been running mine for almost 8 years.

Exim MTA, Courier IMAPD on Debian.

Pretty easy setup; nothing complicated.

For remote access I use two things: RoundCube webmail, and K-9 Mail on Android. For sending mail from K-9, I connect home, via authenticated SMTP which is on port 587, rather than 25.

I have developed a little web app called Tamarind for generating throw-away mail aliases.

[http://www.kylheku.com/cgit/tamarind/tree/](http://www.kylheku.com/cgit/tamarind/tree/)

I run some mailing lists which use GNU Mailman. For archiving them, I don't use that horrible pipermail, but rather a hacked version of Lurker. I patched Lurker to pass through HTML so that HTML mails end up rendered as HTML in the archive. The HTML has to be scrubbed, so I wrote a little scrubber for that:

[http://www.kylheku.com/cgit/hc/tree/](http://www.kylheku.com/cgit/hc/tree/)

Lurker patches:

[http://www.kylheku.com/cgit/lurker/](http://www.kylheku.com/cgit/lurker/)

</comment><comment><USER45> First, I'd start with "Don't run your own email server unless you _absolutely_ have to."

Second, if you must... I'd recommend Mail-in-a-Box. _MUCH_ easier to setup / maintain than this one, at least from a cursory read. [https://mailinabox.email](https://mailinabox.email)

</comment><comment><USER46> Running your own personal, non-commercial server may be just fine. But if you're business is pumping out volumes of email, no amount of DMARC, DKIM, SPF, CFL participation and fighting to stay off IP blacklists will prevent you from eventually succumbing to the user that clicks the Junk button to delete their emails. This will tank your domain's reputation and get your emails routed to Junk (or silently discarded) for all recipients at the big ESPs like Gmail, etc. SPAM scoring is outsourced to companies like Symantec, CloudMark and others. They are the mail-zapping, score-keeping monoculture of the email ecosphere. You basically need a large company who will take your word for it that you're not SPAMming and interface with the filtering industry on your behalf to de-nerf your domain once the Junkie McJunkbuttons of the Internet screw your reputation over.

<comment><USER47> What is CFL participation?

<comment><USER46> Customer Feedback Loop. When Junkie taps the Junk button you get notified by the ESP to delete them any mailing lists and never email that address again. They typically track this as a metric against your domain. And some ESPs, like Comcast won't even sign you up to participate unless you're big.

</comment></comment></comment><comment><USER48> It always makes me happy when a blog serves me less than 40kB to read an article!

</comment><comment><USER49> Yeah, it's learnable, it's doable, it really doesn't need to be all that hard.

And then ... after you've done every damned thing exactly by the book, and DKIM'ed the dickens out of your headers, killed the spam, policed yourself off the blacklists, etc. etc. - turns out you might as well not have bothered. The googles and the microsofts (the microsofts especially!) will one day drop your outgoing mail without the slightest notification, because the ip range, or because the full Moon, or just because they can.

I ran that show for nearly fifteen years, but threw in the towel last year, and handed over to Fastmail. With regret, although their service is first rate.

Email is _not_ a succesful federated protocol these days. The monoliths effectively killed it off.

</comment><comment><USER50> If you run your own mail server you can save a ton of work and time and get great defaults and features by using Sovereign from [https://github.com/sovereign/sovereign](https://github.com/sovereign/sovereign)

</comment><comment><USER51> Love this, I spend many nights in the past fiddling with email.. and giving up. But I manged to get it to work one day and I learned a lot! I started with [0], but eventually found the mail-stack-delivery package in the Ubuntu repos, it sets up almost everything correctly out of the box and I ran with that. While Googling that package name I found this: [1], may also be nice.

I also learned that having it in your basement means trouble: Someone pulls the plug, your IP changes or ends up on a spam list. For some years I ran my own server on a DO droplet. It is very cost effective when you can make as much mailboxes as you want for family (+ unlimited aliases, addresses that deliver to both you and your wife, being able to email 500 mb to familie, etc). I still don't know down what sinkhole emails to my brother-in-law's outlook.com address went down. The literal response of MS at the time: We don't manage our own spam filter, try adding more text, make it look more real...

But man, the pain, the complexity, the reverse DNS, the startTLS, the SPF record, the DKIM records. It took me a long time to understand the difference between mail servers and MTAs and why there are different ports for them. Also, few providers in the Netherlands even allow you to use port 25, luckily mine did. Email is truly an old protocol that has been hacked up-to-date (more or less) and setting up your own mail server will make this very clear to you :)

I'd recommend it though, you'll learn a lot! But to be honest, I now pay 3 euros a months to a dutch email provider because email is too important and I didn't want to go through the pain again when 16.04 came out. I might still have a go at it in the future, there is something beautiful about running your own email server :)

[0] [https://arstechnica.com/information- technology/2014/02/how-t...](https://arstechnica.com/information- technology/2014/02/how-to-run-your-own-e-mail-server-with-your-own-domain- part-1/)

[1] [https://www.iredmail.org/](https://www.iredmail.org/)

</comment><comment><USER52> This is a very good guide.

One nice thing about the programs he chose is that their config options are fairly stable (can't vouch for Solr). That many moving pieces would be absolutely unmanageable if the options changed frequently. Been using a similar setup for years without difficulties.

Adding something like _fail2ban_ into the mix wouldn't hurt.

If you're going to do this, _first_ check that your VPS / ISP allow inbound traffic to port 25/tcp. AWS allows it upon special request. GCE doesn't. Don't know about the others. In the US, most _residential_ ISPs block 25/tcp inbound.

</comment><comment><USER53> The configuration of mail servers is so unbelievably grueling, it can almost reduce one to tears! I love having my email and data on my own server, but it is horrendously time consuming to get it up and running, and if something goes wrong, you could be looking at a weekend of work (often involving trial and error with poorly documented config formats). Sometimes I wish email could be replaced with something simpler but just as ubiquitous. _Sigh_

</comment><comment><USER54> If youre running your own email services and wonder why outlook.com / hotmail.com are blocking you you can signup for this. [https://postmaster.live.com/snds](https://postmaster.live.com/snds)

Its useful as quite often youll get blocked just for being in the same IP block as a spammy server. My experience to date is that once you notify them your IP isnt the culprit the block gets removed pretty quick.

<comment><USER54> I think the Gmail equivalent is Postmaster Tools. [https://postmaster.google.com](https://postmaster.google.com)

</comment></comment><comment><USER55> Usually you are supposed to add a year to older articles :)

Curious if you looked into other mail server options? I mean Postfix (not Postgres) easily handles the load of a single user, but it is still rather hard to configure and modify.

I recently started to work with Haraka and even thought its ment for high traffic use cases i wont ever look back to Postfix (not Postgres).

<comment><USER56> Wow. I must have really been abused (likely) by other mail servers to consider Postfix easy then.

<comment><USER55> Given my first real Postfix experience was a scaleable forwarding service that is supposed to support a variation of configs without breaking the config file.

Postfix is super easy, and well documented for normal use cases.

</comment></comment></comment><comment><USER57> I ran my own mail server for a few months in 2013. I came to the conclusion I'd much rather pay Google $5 a month.

<comment><USER58> Fastmail will let you do it for $50 per year if you pay upfront. Just not sure why anyone would run an email server other than extreme paranoia. It's hardly a set it and forget it affair.

<comment><USER59> Fastmail is great until their support hands your account over to some random person that just happened to ask.

<comment><USER58> [https://www.fastmail.com/about/privacy.html](https://www.fastmail.com/about/privacy.html)

They have a very strong privacy policy, they're not just going to hand your email over to a "random" person.

<comment><USER60> They already have: [https://news.ycombinator.com/item?id=15855081](https://news.ycombinator.com/item?id=15855081)

<comment><USER61> [https://blog.fastmail.com/2017/12/06/security-account- recove...](https://blog.fastmail.com/2017/12/06/security-account-recovery/)

</comment></comment></comment></comment></comment></comment><comment><USER62> Looking at that postfix main.cf gave me flashbacks and not in a good way. Google can have it. Or ProtonMail. Running my own mail server didn't pay enough ($0) for the complaints I got from its users (family). I'll focus on VoIP PBX and home automation until someone gobbles that up too.

</comment><comment><USER63> This is an insightful guide on how email works.

Instead of running each component individually, I would recommend looking at something like Zimbra or another OSS mail package that handles a lot of this.

I hosted my own email for over 10 years and maintaining the bits are as painful if you don't have a plan in place.

A decent comparable for do-it-yourself hosting is the kind of luck a product like MDaemon provides - it decent job on windows of rolling all the features into a reasonably manageable server, as well as being quite affordable. I don't work for MDaemon, but tools like this make hosting email relatively trivial.

[http://www.altn.com/Products/MDaemon-Email-Server- Windows/](http://www.altn.com/Products/MDaemon-Email-Server-Windows/)

</comment><comment><USER64> I've hosted my own mail server for a while. I've gone the Postfix/Dovecot route, I've used qmail, etc. My current setup is WebMin/VirtualMin. It works really well, and will run on the cheapest DO droplet.

Fighting spam effectively is not trivial.

<comment><USER28> Seems pretty trivial to me.

1) install spamassassin 2) turn on greylisting

During if you want to to from 1-2 spam a day to 1-2 a month you might want to block the garbage domains like click, link, party, top, webcam, xyz, stream etc. Probably worth enabling a DNS based block list.

So an apt get or two, 2-3 lines in a config file. Seems trivial to me, most every mail server HOWTO mentions them, should be just a cut/paste.

Sure 9-12 months from now it won't work as well, thus updating SA periodically, just like anything else internet facing.

</comment></comment><comment><USER65> Existing mail server solutions seemed so complicated and just plain wrong that I went and wrote my own mail server software from scratch [https://wildduck.email/](https://wildduck.email/)

<comment><USER66> I've been feeling the same for a while. Congratulation for doing it, it looks great!

</comment></comment><comment><USER67> This isn't bad. I ended up creating an Ansible role to do it for me, and it works great.

I thought about Fastmail, but its too expensive when you want to do more than one email address or domain. I run mine on a $5 server from DigitalOcean.

<comment><USER68> Every time a thread about running your own email server comes up I think "Oh yeah, I was going to set up FastMail for my domain"

The current pricing[0] seems to let you have 100 domains plus 600 aliases[1] for $5/mo.

I've got this thought that I will create aliases for every different thing I sign up for and use them to track who's selling my email address to who. I think that a domain plus aliases will do the trick and I think that what I want to do will fit in their limits.

[0] [https://www.fastmail.com/pricing/](https://www.fastmail.com/pricing/)

[1] [https://www.fastmail.com/help/account/limits.html](https://www.fastmail.com/help/account/limits.html)

<comment><USER69> So I can't quite parse it out from the page, maybe one of the Fastmail users can tell me.

I can set up 100 domains and 600 aliases, but if I want my wife to have access to email@example.com, does she need her own $5/mo account?

<comment><USER70> > I can set up 100 domains and 600 aliases, but if I want my wife to have > access to firstname.lastname@example.com, does she need her own $5/mo account?

You can add her as a user to your account (so she can use your domain) and it costs an additional $5/mo for the separate user yes

<comment><USER69> Makes sense, thanks!

</comment></comment></comment></comment></comment><comment><USER71> I run my own outbound mail server for my infra. I couldn't justify paying a 3rd party just to make my mail more deliverable. I understand the cat/mouse game of spam but that should not prevent the rest of the world from running thier own email services.

I also accept inbound mx for some of my personal domains, but I don't currently manage my own mailboxes, the mail gets aliased to my Gmail account.

If at some point I get fed up with this arrangement I can transparently change where the email ends up.

</comment><comment><USER72> I run my own mail server that I coded myself ([https://github.com/sfilargi/puremail](https://github.com/sfilargi/puremail)).

It's basically a single binary that has an SMTP server and webmail server. It works absolutely fine for me without much stress. I do hit a couple of bugs here and there, mainly on the mail parsing, but it's not big deal.

<comment><USER73> I don't think that you should leave your parse.txt there. Looks like personal data.

<comment><USER72> Thanks

</comment></comment></comment><comment><USER74> Regarding web mail: I am much happier with RainLoop [1] than I was with roundcube (better usability). If you are running a Nextcloud anyway, their mail app might be enough[2].

[1]: [https://www.rainloop.net](https://www.rainloop.net)

[2]: [https://apps.nextcloud.com/apps/mail](https://apps.nextcloud.com/apps/mail)

</comment><comment><USER75> I appreciate the write-up! I always wanted to do a similar write-up for my own setup, but I never got around to it. (My setup uses slightly with different components: exim+dovecot+spamassassin+openldap.)

However, after reading this, the software developer in me feels like "These tutorials should not be necessary."

This should be a GitHub repo, trivial to fork and trivial to test out locally for anyone.

<comment><USER76> There are several projects that do just that:

\- [https://mailinabox.email/](https://mailinabox.email/)

\- [https://mailcow.email/](https://mailcow.email/)

\- [https://modoboa.org/en/](https://modoboa.org/en/)

<comment><USER77> I've been running a mailcow install for the past year and it has worked remarkably well. Not sure if I'll stick with it when I move my server, but I've got no complaints.

</comment></comment></comment><comment><USER78> Honestly if you're lazy or want the support it might be nice to get the VPS cPanel license. It sets it up for you with full customization allowed. It also has spamassassin with RBL support in the interface. I think it's $17~ a month excluding VPS cost. You'll also get so many other features that can be disabled.

</comment><comment><USER79> Slightly tangential, but is there something for RSpamd, where it can be run as just a blind mail relay?

I.E. like this:

      Internet Email (SMTP) -> [MTA + Rspamd] -> [Real MTA + Inboxes]

I ask because I've got a mail server system I'm happy with, but just want to bolt a better anti-spam filtering system on _in front_ of it.

Thanks.

<comment><USER37> I believe it would work fine, configure rspamd as a milter on the first hop and relayhost everything to "Real MTA".

<comment><USER79> So Rspamd+PostFix ?

</comment></comment></comment><comment><USER80> Would a better and easier alternative be to run your mail service through AWS?[1]

Sure it's _hosted_ in a centralised place but since you're paying for it Amazon shouldn't have an incentive to harvest your data.

[1]: [https://aws.amazon.com/ses/](https://aws.amazon.com/ses/)

<comment><USER50> Use a cheap dedicated server. A Raspberry Pi 3 can do it. You can use a cheap VPS to tunnel a "proper" IP address to your home network.

Or rent a cheap dedicated server like Kimsufi or online.net for a couple of bucks per month.

<comment><USER80> > Before we dive in, an important caveat: You will become a sysadmin of your > own mail server.

I don't want to become a sysadmin of my own mail server, however I'd appreciate not having my personal data harvested by webmail providers (e.g. gmail, outlook.com). Using a Pi or dedicated server would make me a sysadmin.

Using AWS email seems like a decent middle ground which isn't too expensive ($0.10 per 1000 sent and $0.10 per 1000 emails received).

</comment></comment></comment><comment><USER81> I have an old server that I need to migrate. It uses exim4 and pipes email to programs for certain addresses, and needs to send out automated email for forgotten passwords, etc. Is it worth moving to Postfix or something better? This is the part of the migration I look forward to the least.

</comment><comment><USER82> Does any else remember Matt Simerson's FreeBSD Mail Toaster script? Seems like he's still working on it: [https://github.com/msimerson/Mail- Toaster](https://github.com/msimerson/Mail-Toaster)

</comment><comment><USER83> Is there any modern webmail client that's secure and easy to set up? I know about Squirrel Mail and there was another one using the Horde framework, but I'd rather use a uwSGI/PSGI app that preferably doesn't need a mySQL database.

</comment><comment><USER84> I run my own email server as well and the problem I see with it is that Google has all my email anyway -- probably 90% of the people I communicate with use gmail, so even if I don't, most of my sent mail is already in their system anyway.

</comment><comment><USER85> Thanks for posting this. I'm currently running a similar setup and to me it's a horrible technical debt. Any ideas how to migrate multiple mailboxes for multiple domains to a managed solution?

</comment><comment><USER86> I've been pretty happy paying Fastmail to run my email server for me.

<comment><USER66> I've recently moved to Fastmail and I'm blown away by the service. Everything feel well thought, well integrated, their web interface is fast, their mobile app is great, they respect standards... I could continue all day.

From reading their blog[0] you can tell that they are passionate about email.

It is a bit pricey for a personal email with a few accounts, but I'm happy to give them their well-earned money.

[0] [https://blog.fastmail.com](https://blog.fastmail.com)

</comment></comment><comment><USER87> Isn't it possible to make all these changes in a server and make it available as a docker container or VM (with minimal customization required for end users?)

<comment><USER88> For sure! After years of running a personal mail server with a setup similar to what's described in the article, I moved to using a pre-built docker setup and haven't looked back: [https://github.com/tomav/docker- mailserver](https://github.com/tomav/docker-mailserver)

The easiest way to get this type of VM setup going is to start up the container on your mail host with all of the fun features (filters mostly) turned off, verify that the new mail container works as expected, then slowly start turning on features one by one so that if you happen to break something with a bad configuration you know how to roll back to a configuration that is functional.

</comment></comment><comment><USER89> > Luckily, running your own mail server is not as daunting as many would have > you believe

Looks pretty daunting to me

</comment><comment><USER90> I run my own mail server. Have done since Evolution mail was in BETA circa 2003 ish (time flies). Started with a Linux Mandrake based Postfix, Procmail, Dovecot, Fetchmail setup with SpamAssassin then moved onto a proper Debian setup with Exim, Courier, Procmail, SpamAssassin and then finally after all that faff I found Zimbra.

If you like email Zimbra's great - it's a fully baked mail server which you install on your Linux distro of choice and it goes off and installs all of the above for you. Everything is managed via a GUI and you have a great web interface and standards based IMAP, CalDAV support.

If you buy the paid version you can even get ActiveSync and Exchange Web Services for it.

Despite all that though, I would give anything to have all those countless hours I put into running my own mail server back. It is a colossal time sink. I can't even stress how much work it is, especially if you have anyone relying on the box for their primary mail account. It's no fun at all.

You're gonna be debugging Fetchmail for when you or your user's want POP3 accounts downloading mail locally. Procmail for filtering. SpamAssassin (gawd if ever there was something which consumed my life it's that software and its myriad libs and helpers), not to mention familiarize yourself with DNS MX records, SPF, DKIM etc. etc.

All of the above works surprisingly well and is fairly solid - until it isn't. When Google added DKIM/SPF protection and blacklisted servers which didn't was a fun weekend that I'd rather have spent with my family. When customer emails started bouncing because their IPs had hit an over zealous RBL list which Zimbra was using was a fun afternoon of debugging. When Zimbra decides to randomly let in 10-20 spam emails a day into my mailbox is another weekend project which I've yet to get round to. Thank god I'm self employed is all I can say because no employer would tolerate an employee putting the care and feeding required to maintain a personal email server!

Unless you want to nurture a career as a mail sysadmin seriously, don't host your own mail server.

Bottom line I'd recommend to anyone thinking about hosting one to either:

1\. Don't

2\. Use Microsoft Exchange Server

3\. Use Zimbra

4\. Seriously, don't - consider Fastmail, Gmail, O365 or Protonmail instead.

</comment><comment><USER91> What webmail client people tried with their own setup that they like?

<comment><USER92> Roundcube seems to own it. Not that many Foss clients to choose from, and RC seems most robust.

The only feature I've ever longed for is a simple way to include a non-reply email in another email message. There's probably a plugin for it.

</comment></comment><comment><USER93> Also it's alot of work.

<comment><USER94> It took about three days to set up postfix and dovecot for multiple domains from a cold start, including certs and spam filtering.

Postfix supports a selection of block lists for spam, and I get no spam at all - although unfortunately my gf sends me email from a Yahoo account, and certain Y! servers get blocked, so that mail bounces.

She doesn't do it often enough for me to spend more time getting whitelisting to work. (Currently it doesn't - I don't know why.)

The hard part is getting a working config file for postfix, but there are tuts and examples online.

Like a lot of older FOSS code, postfix is basically an insane collection of every possible switch for every possible feature, dumped with no particular thought or care into a single config file, and written up - ditto - in a single help file.

You only need about 10% of it, but you won't know which 10% until you try.

The server gets regular hack/relay attacks from all over, but those get killed by Fail2Ban. I'm not exactly a high profile target, but unlike an old WP site I used to run - it was hacked in weeks - the servers seem to have survived for more than five years now.

<comment><USER28> Yahoo servers don't seem very well managed. Obviously they have lost a billion passwords or so. They also serve malware from their home page often (I've gotten chrome, opendns, and firefox warnings). The ads shown are often pretty ghetto (payday loans and the like).

In the interest of security I'd help your gf to a different provider.

</comment></comment></comment><comment><USER95> One thing I'd like to see covered is sender dependent outgoing mail routing.

For example, suppose I have things set up so all outgoing mail from my home goes through my SMTP server. If I send an email with a from address of tzs@mydomain, then the setup in the article is perfect.

Suppose, though, I send an email from home with my from address set to tzs@employer, where "employer" is my employer's domain? Assume this email is not to an @employer address [1]. With the setup in the article (and in almost every other similar setup I've seen covered in similar articles) this might run into spam filter issues unless I've convinced my employer to add my SMTP server to their SPF record.

The way I want this to be handled is for my SMTP server to see that the mail is from an @employer address, and instead of trying to deliver it directly, relay it through employer's SMTP server.

This is similar to the common "smart host" configuration often used when you run an SMTP server at home, but want it to send all outgoing mail through your ISP's SMTP server instead of trying direct delivery. Essentially what I want is a conditional smart host based on the from address.

Postfix supports this. In fact, it seems to support it in a couple different ways. I played with it a bit but could not quite get it working.

What I'm doing for now, until I find out how to do it right, is only send work email outside of work from my desktop Mac. I took tzs@employer off the list of mail aliases for my mydomain mail account, and created a second account in Apple Mail for @employer. I set the incoming mail server to POP3 on 127.0.0.1 so that it would fail, and set the outgoing server to smtp.employer. It complained for a while that it could not contact the POP3 server, but eventually stopped complaining, and the address in the configuration dialog changed to 0.0.0.0.

With that setup Apple Mail sends mail from @employer directly to my employer's SMTP.

Sometime recently, after an OS update, that stopped working. It would no longer let me enable an account unless it could successfully talk to the incoming mail server for that account.

I did find an ugly workaround for that. I gave it the correct address for employer's POP3 server, and the correct password. Once it was happy, I went to Keychain Access, found the saved password for the POP3 server, and changed it in Keychain Access to something incorrect. Mail then complains that it cannot login to the POP3 server, but that does not cause it to disable the account. Net effect: a send only account in Apple Mail. (It is important to do the password change in Keychain Access, not in Mail, because Mail won't save the change until it sees the new password work).

(If that had not worked, I probably would have written a dummy POP3 server that always reports no mail and used that).

[1] This happens reasonably often for me, because I have my mail server set up to use fetchmail to fetch my incoming work email and deliver it via procmail. Same for any other SMTP accounts I have. That way I only have to configure mail clients to work with mail server and I get access to all my mail from all of my non-web email accounts.

<comment><USER28> Handling this server side seems weird. Why not just have a profile in your mail client that lets you send personal email through the personal server and work email through the work server. You end up with a much more robust setup that works without extra hops through a 2nd mail server. It also provides immediate feedback if sending an email fails for some reason.

If Apple mail is broken and keeps dropping things I'd suggest thunderbird.

<comment><USER95> > Handling this server side seems weird. Why not just have a profile in your > mail client that lets you send personal email through the personal server > and work email through the work server.

Then I have to have my desktop email client set up for both personal and work email sending, and my iPhone email client set of for both, and my Surface Pro 4 email client set up for both.

If everything, both sending and receiving, goes through my server, then all my client devices just have to use that one server.

In general, it just seems cleaner to keep the email clients as simple as possible and put as much of the decision making as possible on my server.

</comment></comment></comment><comment><USER96> Email is always a nightmare. My ex runs a BSD mail server that seems to work alright (and he has a cloud service that will handle mail in the event of a server failure). Me? I pay Fastmail like $50/year to do that for me, and they're wonderful. I tried to sign up for a trial with my own domain, and when I got a strange error that didn't let me log in, I put in a ticket (as a non- customer) and the issue was rectified quickly.

I swear, I don't work for Fastmail, but I'd much rather use them (or any email provider that is halfway decent) than fiddle with my own mail server.

</comment><comment><USER97> A docker container would really be useful for that !

<comment><USER98> Here's the one that I use: [https://hub.docker.com/r/analogic/poste.io/](https://hub.docker.com/r/analogic/poste.io/)

One of the easiest mailserver setups i've ever had.

If you don't like that it's not super free, there's open source alternative: [https://mailu.io/](https://mailu.io/)

</comment></comment><comment><USER99> I've done this, more than once, both for ISPs and personally.

I even put together a self-contained single-DVD installer that would install and set everything up securely and solidly. (I don't think I have a copy any longer and if I did it's very out of date)

I still don't recommend doing it. Even for the security-concious. It's just not worth it.

</comment><comment><USER100> I'd like to run a mail server on a jailbroken iPhone.

The use case is to transfer arbitrary files over a local hotspot.

I tried installing from the Apple TV tutorial, but it put my iPhone in a boot loop.

[http://ios-webstack.tk/imap](http://ios-webstack.tk/imap)

Just a chance, but are there any iOS jailbreakers here who could advise?

<comment><USER74> What do you mean with 'mail server'? Postfix? Dovecot?

Running a Postfix on anything else than a dedicated server with a static IP is a pretty bad idea (half the internet will reject the emails you send).

And to do all that just to transfer some files is probably like using an iPhone as a fly swatter.

<comment><USER100> I don't know why there's so many downvotes and patronising "fly swatter" remarks. There is a use case for this.

For example, sharing a photo album with many pictures. Or a mixtape. Or some song lyrics. I can't upload those to the cloud for copyright reasons.

Or if I want to make the transfer while away from Internet e.g. skiing, hiking, waterfall trip, etc. - there's no access to Internet services, so iCloud/Dropbox/Google Drive just won't do.

I can use lighttpd to serve the folder, but then the user has to hold down and "Save to Camera Roll" for each picture separately.

If both phones have Airdrop, then that's fine. But many phones are not iPhones. We could both install a special app for Bluetooth transfers, but we don't have Internet access, remember? So no app store.

There's a Mail client on every phone, however locked-down it is. If I can serve a collection of files over a local network and send those directly, not one at a time, then that would be very useful to me.

I think a mail server is one solution. If you can propose another flyswatter that meets my requirements, go ahead. Otherwise I still want to find a way to code a mail server, and the parent article is helpful for that.

<comment><USER101> > We could both install a special app for Bluetooth transfers, but we don't > have Internet access, remember? So no app store.

Why not install the special Bluetooth app whenever you were planning to install the smtp server?</comment></comment></comment></comment>


Ask HN: Recommendations for educational video games - <AUTHOR> I find video games very dull - whether it is a shoot-em-up or car racing or whatever. I consider them a waste of time.
Are there any really good educational games? I'm aware of plenty of "brain training" games that are supposed to improve general problem solving skills, but I'm looking for something more targeted. I've a PhD in particle physics and I write code for a living (C++ and Python mainly), so I'm interested in something that would go way beyond mental arithmetic and word games.
Any ideas? Anyone else interested in games like this? <comment><USER2> i would love to make games which mix augmented reality and education....

Understanding speed or how the shapes and shadows work outside.. I believe education lies beyond the walls of a classroom.

One anecdote: i once taught kids multiplication and speed with walking and running as the base exercises... They understood in no time, of course tech could have helped making it easier but there is hardly any tech which the children conceptualise,would be great though

</comment><comment><USER3> [http://www.zachtronics.com/](http://www.zachtronics.com/)

shenzhen-io and TIS-100 to learn electronics</comment>


Netflix Kills Discussions - <AUTHOR> http://matt.xerq.net/netflix-kills-discussions <comment><USER2> Yeah, and publishing a book all at once kills discussions too.

But seriously, the solution here is the same: form a club. Force yourselves to read/watch at the same pace, and you'll actually have a _more_ social experience than if you all read/ separately and only occasionally managed to start up an ad-hoc conversation.

<comment><USER3> But that would require self-control and discipline. Who has time for those things?

</comment></comment><comment><USER4> Wow. A blog post about a television show and bemoaning the fact that you can't discuss it weekly anymore ends with the overly-dramatic line: "How do you want to spend your life?" Indeed, do you really want to spend your life crying over the lack of ability to discuss a TV show with your co-workers?

<comment><USER5> This complaint was raised by a lot of television critic-bloggers during the first run of Netflix releases (House of Cards and Arrested Development in particular). I think it's ludicrous. If you and all your friends really think that weekly spoiler-free discussions are the most important thing, then just agree to watch 1 episode a week. We already have to deal with this sort of thing with weekly releases, if someone misses the recent episode (or someone else is catching up with earlier seasons on VOD).

</comment></comment><comment><USER6> I'm aware this happened with Season Four of Arrested Development. There was a _massive_ hype right up until it was to premiere on Netflix and then … nothing. People watched it, then moved on.

I personally love to be able to binge a new television show, like House of Cards but at the same time I also love the discussions around it (Breaking Bad had some very cool discussions in between episodes). So I'm not quite sure what format is better in the long run.

Perhaps the future will be more like how Sherlock Series 3 was aired (only a few days between episodes, not an entire week). Whatever the case, television is only getting better from this point onwards.

<comment><USER7> > I'm aware this happened with Season Four of Arrested Development. There was > a massive hype right up until it was to premiere on Netflix and then … > nothing. People watched it, then moved on.

This pretty much happened with HoC season 1 as well. Massive hype for this Fincher/Spacey series and then... nothing until a month or two ago for season 2. On the contrary, shows like "Orange is the new black" didn't have much hype initially and slowly grew as more and more people binged through it and became pretty popular.

Andy Greenwald said it best: "I've argued before that encouraging this sort of bingeing does no favors to the art or the audience. It takes a pleasantly coursed dinner party and transforms it into a hot dog eating contest." [http://grantland.com/features/breaking-bad-black-mirror- year...](http://grantland.com/features/breaking-bad-black-mirror-year- television/)

</comment></comment><comment><USER8> This illustrates why the best model for content distribution is a hybrid between having the full back-catalog available for binge consumption while still releasing new episodes on a consistent schedule.

Exclusively going to either end of the spectrum has clear disadvantages:

– On the binge end, if everything is released at once, almost no one on the planet will be on the exact same viewing schedule. Some people will watch the entire season at once, some will watch an episode per night, and so on. It makes it difficult to discuss the show with anyone because you first have to establish how much each of you have watched. Does it make discussion impossible? Absolutely not, but it presents a barrier.

– On the other end of the spectrum, limiting the availability of a show's back catalog will obviously limit a show's audience. Most of the successful shows of the past few years grew their audience over time, which requires access to that back catalog. Netflix, being the most popular service for this kind of thing, is the logical place to license your content if you care about improving your show's future prospects. Again, not being on Netflix does not make it impossible to catch up, but it presents another barrier.

Breaking Bad is the ideal example for this model. It's a great show that built its audience through word-of-mouth; if their back catalog wasn't available, the word-of-mouth recommendation would be DOA because most people would not have broken through the barrier. Similarly, if they had just dumped season 5 onto Netflix, it would have eliminated the week-over-week hype cycle that built over the course of the season and climaxed with a finale that was watched 700% more than the show's pilot.

Also, releasing every episode at once almost entirely eliminates cliffhangers. That's no fun.

</comment><comment><USER9> Why is a shared entertainment media experience important? It's not as real as your own lived story, and it rarely says anything of import about the world.

<comment><USER10> We are social creatures who still sit around the campfire and discuss our shared experiences. What we shared has changed and where and what the campfire is has changed, but that is humanity. We connect over the common events in our lives to the point that we have events that whole generations remember, refer to, and sometimes measure time since.

<comment><USER11> Right, but a TV show isn't an experience, it's a campfire story. If _all_ you do is sit around the campfire and listen to TV producers tell you stories, you aren't having any experiences at all.

<comment><USER10> "TV show isn't an experience"

I would say that isn't true. Entertainment be it sports, gladiators, bards, plays, movies, or TV are experiences.

I think you misinterpret what I mean by the campfire. The experience happened (in this case viewing of the TV show) before people sat down and either told what happened or discussed what happened. There is a joy in discussing life and entertainment that has been around a long time.

</comment></comment></comment></comment><comment><USER12> Author kind of tanked their own argument with this one:

> (which was great if you were on the East Coast, but West Coast / Best Coast > knew not to check the thread until after watching it

Same answer here -- if you haven't watched it yet, don't look at the threads.

</comment><comment><USER13> I think the biggest assumption of the article is that Game of Thrones has an equal sized viewing audience to House of Cards. That is simply not the case. While Netflix is in fact growing their numbers at a rather nice rate, it still doesn't compare to the number of individuals that have HBO available to them with their local cable providers.

Also, what is the proportion of XERQ users that are also Netflix subscribers? That could be a telling metric as well.

I could be way off, but I have a funny suspicion that the numbers are rather different.

<comment><USER14> Netflix recently surpassed HBO in subscribers. [http://www.latimes.com/entertainment/envelope/cotown/la- fi-c...](http://www.latimes.com/entertainment/envelope/cotown/la-fi-ct- netflix-earns-20131022,0,7706796.story#axzz2sJ2PozB3)

Regardless, for this conversation, the number of people who _could_ see the shows is not relevant. It's the number of people who _did_ see them. I don't think anyone knows the number for House of Cards aside from Netflix.

</comment></comment><comment><USER15> With the invention of the telephone and email, the art of writing long well thought out letters has all but vanished.

It sucks, but with progress we sometimes (often?) lose some nice things.

In my opinion, it's worth it, in this case. I love having the freedom to watch a show when I want. I hate it when I have to wait for the next episode, especially if its release is delayed due to some football game (I'm looking at you True Detective).

</comment><comment><USER16> Oh no, our second least meaningful form of social interaction is getting harder. I'll have to fall back to talking about the weather.

</comment><comment><USER17> What if discussion were somehow linked to your netflix history?

So you see only filtered comments written by people who had seen the same (or less) episodes than you (at the time the comment is written).

That would be cool.

</comment><comment><USER18> Certainly it could be an interesting phenomenon, but as written it is not really scientific as it doesn't have a very large sample size and seems to only discuss a single site's usage. While one may be able to extrapolate correct interpretations that is not a guarantee that future extrapolations will be representative or correct. What if there's just a time delay?

Maybe Netflix increases discussions but delays them a year.

</comment><comment><USER19> An interesting point of view. With that said, my anecdotal experiences indicate that it's possible to discuss media with people even if you're not on the same page, as it were.

Consider Game of Thrones -- I'm perfectly able to discuss Seasons 1 and 2 with my friends who haven't yet seen Season 3, if I'm mindful to avoid spoilers.

Community discussion can be had, it just needs to be conscientious.

<comment><USER20> Game of Thrones has that mentality built in already though, since half of the watchers already know the story from the books. That may be a unique eco- system. I know the subreddits built around GoT and ASOIAF have intricate spoiler systems built in.

<comment><USER19> True, and it's a fair point. With that said, that isn't the case with my example -- none of my social circle has read the books.

</comment></comment></comment><comment><USER21> If a group of people want to be on the same page so they can discuss it, they can choose to watch it at the same pace. Just because a broadcast network isn't _forcing_ them to do that, it doesn't mean they can't still watch it the "traditional" way. Now they have a choice!

</comment><comment><USER22> I really hope this doesn't mean that they're going to kill the all-at-once "binge" releases for new shows.

I've been doing this for TV shows since long before Netflix streaming existed - I would wait until a season (or show) ended, and then rent the entire series from Blockbuster, one disk at a time.

I don't always have time to watch shows regularly, and it's great being able to do it at my own pace. Plus, I'm impatient when it comes to cliffhangers[0]

[0] This sort of behavior can be very lucrative for Netflix. Many episodes of Weeds ended with cliffhangers or twists that caused me to watch an episode or two more at a time than I'd originally planned. To a lesser extent, Orange is the New Black (also created by Jenji Kohan) used the same technique as well.

<comment><USER8> Do you lose anything by simply waiting for the final episode to air and then binge watching the entire season?

The only two downsides to this that I see would be the possibility of being spoiled by others' discussions of the already-aired episodes (ironic) and potentially having to wait an extra few weeks to watch the whole season.

<comment><USER5> The latter is the obvious downside, and the reason that most people won't wait until the end of the season for shows they're already interested in.

</comment></comment></comment><comment><USER10> I do have a technical question on this one, are all of the House of Cards episodes done[1] at the same time? They are actually slowing down the releases of new episodes by dumping them all at once, right?

1) I could see it if they do all the editing at the end as a whole, but it seems unlikely

<comment><USER12> They're all done together. A typical show with a standard release cycle is actually holding back completed episodes.

The glaring exception is South Park, which is done pretty much days before release.

Also, sitcoms that are filmed in front of a studio audience tend to be filmed just a few weeks in advance, since they film whole episodes at once. Something like HOC is filmed more like a movie, where all the scenes in one place are filmed together.

</comment></comment><comment><USER23> Maybe it's just because I'm working on product in a related space (tinj.com, launching "soon"), but this problem is perfectly solvable.

In a world where consumption is on demand, discussion groups need to be on demand as well. A way to do this is to create a new discussion group for each episode so people can connect and discuss with others that have seen up to the same point.

Sure, most of the action will be at the latest part, and spoilers might slip in, but with more people continually trickling through the system, the conversation for each episode never really needs to end.

Anyways, I could say more but time to get back to work. Feel free to reach out, contact info in my profile.

</comment><comment><USER24>
      "Previously what would be a community experience..."

For whom? Certainly not myself. If the social aspect of a show is so important to you then find some like minded people and pace yourself. I enjoy watching a season from start to finish and I couldn't care less about talking to others about it. This is a much better model in terms of how I consume content. Different strokes for different folks and all that...

</comment><comment><USER25> More than once, I've half-seriously lamented that the death of VHS killed discussions. Before DVDs and streaming, you'd rewind the tape at the end of the movie. You'd talk quietly with your viewing partner(s) about what you had just seen and how it made you feel, over the loud noise of the VCR. Now in our instant-gratification society, this time of reflection is robbed from us.

Of course, I'd not suggest going back to VHS...

</comment><comment><USER26> Never heard of this site. I'm going out on a limb here but my assumption is it quite simply doesn't have quite the same audience.

[http://www.reddit.com/r/houseofcards](http://www.reddit.com/r/houseofcards) has plenty of discussion

[http://www.reddit.com/r/orangeisthenewblack/](http://www.reddit.com/r/orangeisthenewblack/) has a lot of discussion as well.

<comment><USER7> If you're doing that, compare those subreddits to r/gameofthrones and r/breakingbad and that's his point. Majority of the people I know that watch GoT/BB have watched HoC/OitnB as well.

</comment></comment><comment><USER27> I'd rather have everything as I care to watch it than be drip-fed. The old "Accept what we give you when we give it to you" model needs to die, and the sooner the better. If I really care about discussing what I'm watching with someone, I'll either watch it with them, or schedule when we watch to ensure we don't get ahead/behind, but truthfully, I really don't care that much.

</comment><comment> jack-r-abbit This is hardly a new problem. I am nearly always a week or two behind with some shows I have on my DVR. Due to one scheduling conflict or another, I don't always have time to watch every thing the night is airs. Couple that with needing to coordinate with my wife for some of the shows we watch together and it can be weeks sometimes before we sit down to catch up on a few shows.

</comment><comment><USER28> In my personal experience, discussions occur just fine after the conclusion of the binge, and I've also discussed "historical" stuff with people (for instance, "Stargate: SG-1"). This doesn't seem to be obviously worse, just different, which is not the same thing despite great evident belief to the contrary.

</comment><comment><USER29> Probably more accurate to say Binge Viewing kills discussion. And I think it may. There's less water cooler conversation than over the Walking Dead.

My take on binge viewing - I'd rather see a Greatest Hits to get current. I don't have 2 hours to sit through a movie, let alone 72 to get caught up on a series.

</comment><comment><USER14> There's an argument to be made that shows in their third and fifth seasons would naturally have more participation than a brand new show as fans are certainly more invested and likely more numerous.

</comment><comment><USER30> This started off being about discussions about Netflix shows, and then turned into a philosophical article about life.

Nice! I'm glad that I can watch House of Cards all at once, and that this article exists.

</comment><comment><USER31> I got a headache from rolling my eyes so violently.

</comment><comment><USER32> I'll stick to binge watching thank you

</comment><comment><USER33> I think binge watching takes something away, but commercial interruptions take a lot more away, and fixed-hour availability made intelligent television a rarity (Tivo and Netflix enable TV to accommodate a smarter, busier audience and have changed the nature of what gets made).

What most people seem to do these days is: (1) binge watch, (2) discuss what it meant for the week after, (3) re-watch a few months later to get a sense of what they missed due to binge watching. Shows like Breaking Bad have enough depth that it's worth it to watch them a second time.

Still, I doubt the release-all-at-once dynamic will be the norm in 3 years, but I doubt we'll have the arbitrary winter breaks designed to make sure the season finale lands in the 20s of May. I could see an every-two-days release cycle being the norm (so a show like House of Cards would unfold over a month).</comment>


Company Bricks User's Software After He Posts a Negative Review - <AUTHOR> https://www.techdirt.com/articles/20161220/12411836320/company-bricks-users-software-after-he-posts-negative-review.shtml <comment> angry-hacker Well, for some reason I feel bad for the co owner who started apologizing on the forum. Probably I shouldn't, but I can feel his thoughts of all the reputation of the company and him going down the toilet because of some toxic worker and his emotional outbursts.

<comment><USER2> I guess it depends. I see other people saying that's the quality they've come to expect of the company and it's software.

I've never used the software, nor dealt with the company, so I have no frame of reference but...

If they were a great company and had one bad accident, then yeah, I'd feel sorry for the co-owner. But if the company had a choppy reputation to begin with, then I don't feel so bad

</comment></comment><comment><USER3> I'm perfectly fine with this.</comment>


Hello, I am Origo. I am a 3D printer for ten year olds. - <AUTHOR> http://www.origo3dprinting.com/what-is-origo/ <comment><USER2> It's not legal to print ten-year-olds in 2D, much less 3D.

Joking aside, while a cool idea, I don't think it's really aimed at the right market. I wouldn't mind having a cheap 3D printer for quick prototyping, but for children, the physical experience of molding and shaping a new creation is an important part of their mental and physical development.

At ten years old, kids' brains are still locking down key motor and spatial reasoning skills.

This seems like a device more suitable for teenagers-and-up.

<comment><AUTHOR> We need the inverse: place some real object in a box and get back 3D specs to reproduce. Then kids (that includes all of us, too) can make stuff in Play-doh then make more durable copies.

<comment><USER3> I'm pretty sure we've had 3D scanners since before 3D printers, but I don't recall off-hand how cheap they are. But great idea for a kids application with playdough.

<comment><USER4> You should be able to do this pretty cheaply with pattern-lights, a cheap webcam and some intelligent software?

<comment><USER3> Yeah, you're right. Look at what people can do with just two Kinects; all you really need is enough pictures of the object from different surrounding points to construct a 3D representation that looks alright.

<comment><AUTHOR> Damn good point. Even one kinect and a rotating platform could work. It could plausibly be built for around $200.00.

Makes me suspect someone has already hacked one into existence ...

</comment></comment></comment></comment></comment></comment><comment><USER5> I see a lot of work done in making 3D printers accessible to the point of having one in every home, but I wonder if any home improvement stores have considered having them on-site and using it to gain foot-traffic to buy the additional parts needed to complete the object.

<comment><USER6> That's... brilliant!

</comment></comment><comment><USER7> Forget ten year olds, I'm 32 and I want one! When I looked at the first page, I thought "nice idea, but ideas are worthless". Then I looked at the second page, and you guys have put a lot of research in it, it's really thought out well. If the price is right, let's say < 200 USD, I'm in the market. For my kid, of course.

<comment><USER8> One day you'll be able to buy one for <$200, but not this one. Just having one available at $600-$800 will be _huge_. Imagine if the rich kid in your neighborhood had one of these when you were growing up.

I'm curious about operational costs though. Even if the initial investment is within reach of well-to-do middle-classers, dropping $60 every time little Jimmy wants to "print" his latest robot model could get old really, really quickly.

<comment><USER9> I don't see on the "Making of Origo" page anything about what material they're using, but ABS plastic isn't that expensive, especially for small models. They also ask (but don't answer) "What if it could recycle its own material?", so little Jimmy will have to pick and choose which robot models to keep around, but could in principle make a new one without a huge investment in substrate.

<comment><USER10> Well, ABS is kinda expensive if you're buying it in spools from Makerbot: about $45/kg. That's around $5 per toy, if they're smallish, or around the cost of a toy you'd buy. It's not saving you money, anyway.

<comment><USER8> That's pretty good info. I don't think $45/kg is to terribly bad. I think a lot of it will come down to who ends up funding/owning the devices and the supplies. If they go for the "razorblades" (or maybe more appropriately injket printer ink) profit model, things could go pretty poorly. Let's hope there are at least a few players that decide to keep things sane.

</comment></comment></comment></comment></comment><comment><USER11> The copy on the page seems to be a bit ahead of itself, as long as you are in the vaporware stage I think it is premature to say that "none will be as easy to use as I will. None will be as reliable or work as hard for you".

The video caption on vimeo says it is 'ready for immediate launch' but the origo home page says it is 'just an idea'.

Making statements about the reliability of something that is still in the idea stage is premature. Though it is admirable that reliability is high on the list of priorities.

<comment><USER12> Those are just goals. There's little wrong with aiming high.

<comment><USER13> This is rapidly becoming one of my personal catchphrases: "Goals aren't results." There _is_ something wrong with talking about your goals as if they're a foregone conclusion.

</comment></comment></comment><comment><USER14> I think makerbot industries has a better marketing angle, price just above a grand, aimed at tinkerers to create.

Unless the goal of origo is to print in a re-printable material, their target market shouldn't be for a piece of the play-dough market comprised of elementary school kids.

I can easily say i wouldnt buy either, i just dont have the need. If i was going to prototype something i would probably use shapeways.com or another 3d printing service.

<http://www.makerbot.com/> <http://www.shapeways.com/>

</comment><comment><USER15> Cool product design; anything real behind it? Or just wishful thinking.

<comment><USER12> 3D printers are already a reality. As is easy-to-use 3D modeling software: <http://www.spore.com/> is a game where you did your own 3D modeling to create critters.

<comment><USER16> 3D printers are a reality, but $600 3D printers that are low maintenance and come assembled and ready to go are certainly not.

I don't see anything on the Origo site suggesting they've solved the problems that have kept the UP!, the assembled MakerBot Thing-O-Matic, and other assembled home 3D printers above $2000. I also don't see evidence that they've made any breakthroughs in reliability or ease of use, or really anything more than renders and prose.

</comment></comment></comment><comment><USER17> Existing 3DPs tend to require significant maintenance by expert or semi-expert operators. I don't see anything here showing that you've solved that.

</comment><comment><USER18> Reminds me of the Super Thingmaker: [http://en.wikipedia.org/wiki/Creepy_Crawlers#Varieties_of_Th...](http://en.wikipedia.org/wiki/Creepy_Crawlers#Varieties_of_Thingmaker_mold_sets)

</comment><comment><USER19> Where does the plastic go in?

</comment><comment><USER20> Origo can talk and write blog posts. Lose that functionality and the price should drop considerably.</comment>


Ask HN: How to start solving binary challenges in a CTF - <AUTHOR> I'm quite used to web challenges in a CTF. Also I'm familiar with assembly programming, gdb, but find it difficult to solve binary challenges. What all tools should I start using? <comment><USER2> Since you already know how to use GDB and you're familiar with Assembly, Now i don't know how much Assembly you know, but you need to know how programs execute in memory, (stack , heap , syscalls.....), and once you have that clear in your mind, try to draw a map of thoughts about the logic of execution of this binary (it will be pretty simple, since it's generally small programs), look for the points and weaknesses in the logic that you might attack, one tool i use frequently is [0]peda, also using some visual gdb extension would be really helpful for you instead of checking and looking every time on how registers change values, sometimes a little knowledge about how compilers work and the OS you're working on will be really helpful although the binaries are independent in most cases, but extra knowledge is always useful. [0][https://github.com/longld/peda](https://github.com/longld/peda)

</comment><comment><USER3> [https://microcorruption.com/](https://microcorruption.com/)

nuff said. Hands on exercises through MSP430 hackmes. Only problem is that it won't hold your hand through it other than the first one, and you may need to read online solutions to kinda get the hang of it.

That's how I learned ASM RE, and I tried x86 hackme's in a hackathon and I came out first. I have completed less than 10 microcorruption challenges. So there's that.

<comment><USER4> After the first problem, the one that's a tutorial, did you feel like you could actually solve the second challenge? I still feel completely lost. For the most part I understand the problem it walks you through, but I feel like I don't even know where to start with the second one.

I know how to program at a basic level with higher-level languages like python, but I'm finding this low-level stuff rather difficult.

<comment><USER3> Late reply but yes, I kinda got stuck at times but eventually I got around to getting it working. Doing a bit of research will get you far.

If that doesn't help, read the walkthroughs online, but don't read the entire walkthrough because that won't help on your education. Read one line, ponder, etc.

I'm a hardware guy and I really really love low level stuff; it's my homeground. I do admit that it's not for everybody.

</comment></comment></comment><comment><USER5> if you are comfortable with gdb go with it or else i generally prefer hexdump, objdump and radare2 over gdb (for linux pwnables). i really like radare2, and ctfs generally come with radare nowadays.

however, i think, the most important thing about cracking challenges is your knowledge, you need to learn the paltforms, the architecture, possible vulnerabilities and exploitation of all. so you may benefit reading some vulnzines like phrack and valhalla, some vxforums or papers from exploit-db. also there are very nice books where you can learn basic exploitation techniques(shellcoders handbook, hacking the art of exploitation, etc...). these may be useful if you really have the basic aspects, if you aren't comfortable with shell(bash, sh, zsh, etc..) you should get comfortable with them at the begining.

also you need to learn some c and another scripting language(like python, perl, ruby, lua etc...) for effective cracking (in *nixes).

and don't use windows, it makes you lazy.

also you can take these courses, that would be a marvelous start [http://www.opensecuritytraining.info/](http://www.opensecuritytraining.info/)

<IMPORTANT!> before starting these please ask yourself, why do you do this to yourself? go and get a (girl|boy)friend instead of this. the security field is such a §H!™ hole and endless.

TL;DR: go with radare, and crack this challenges first >> [https://exploit- exercises.com/](https://exploit-exercises.com/)

</comment><comment> ryan-c I like IO from [http://smashthestack.org/](http://smashthestack.org/) \- IOARM is also a lot of fun.</comment>


Docker builds need a smoke test - <AUTHOR> https://pythonspeed.com/articles/test-your-docker-build/ <comment><USER2> Itamar: I was hoping you'd go more into WHY the end-to-end tests are too late.

Docker 1.12 introduces the "HEALTHCHECK" for Dockerfiles:

HEALTHCHECK CMD curl --fail [http://localhost:8000](http://localhost:8000) || exit 1

Is the issue that E2E tests are too heavyweight to be run as a health-check, or that E2E tests are done after the service is running in production?

One nice thing about HEALTHCHECK is that it can be used as part of the deploy process, stopping it before the servers come into the load, like in a blue/green roll-out. "docker service update" can use that check to manage the rollout to production. I think the case you are making is that that's too late though, you want to notify the developer earlier?

Do people really "deploy to prod" without "deploy to staging" first? Maybe I'm just living in my own little world, but we always deploy to staging before production. We have a gatekeeper that prevents code from going directly to production, but maybe we are in the minority there.

<comment><AUTHOR> End-to-end tests work, it's just that as I talk about it slows down the feedback loop a lot.

Smoke test: "Your Docker image is broken", immediately after `docker build`.

End-to-end tests: 30 minutes later "all your tests failed with timeouts".

An image with HEALTHCHECK could be one way to do a smoke test: check if the healthcheck passed. However Kubernetes has a different mechanism so I suspect people using Docker with K8s don't bother using HEALTHCHECK.</comment></comment>


Show HN: Melt - the coupons you want, when and where you need them - <AUTHOR> http://gotmelt.com/

<comment><USER2> Thank you for saving my money. You are my best new companion! Awesome app.

</comment><comment><USER3> Very cool... the app is very responsive and easy to use. Great look too!

</comment><comment><USER4> Nice ui. I'll try it.

</comment><comment><USER5> The KFC looks very delicious, haven't had a meal there in a long time. Yums.</comment>


Ask PG: Where is the saved link? - <AUTHOR>

There used to be a link at the top called 'Saved' that had all the posts I had upmodded on it. Now I can't find that.<p>I used that as a sort of bookmark list, and it'd be great to have it back. Thanks in advance! <comment><USER2> It's in your profile right under reset password.

<comment><AUTHOR> Haha

I'm a moron. Thanks!

</comment></comment><comment><USER3> How do we save things now though?

<comment><AUTHOR> Vote them up.</comment></comment>


Sketch.app introduces new license model - <AUTHOR> https://blog.sketchapp.com/versioning-licensing-and-sketch-4-0-8ad98783e9ba#.le9naatdn <comment><USER2> Changing from $99 every two years to $99 every year is not a change _for the users_. Also, Sketch has never had much regard for backwards compatibility, so this is a de-facto subscription product if you work with more people.

</comment><comment><AUTHOR> Basically going the Adobe way — for a large group of users that actually switched to Sketch for this very reason...

The stick-to-your-old-version if you want to avoid that fee is, imho, a terrible argument for not calling it a subscription.</comment>


Steven Pinker on the Tribal Roots of Defying Social Distancing - <AUTHOR> http://nautil.us/blog/steven-pinker-on-the-tribal-roots-of-defying-social-distancing <comment><USER2> i agree, these protests in such large groups are very tribal and it's part of the problem. We need to stay home and distance ourselves as much as possible at least for the foreseeable future.</comment>


Google CEO: We Won't Repeat the Mistakes of Microsoft - <AUTHOR> http://gigaom.com/2009/11/05/google-ceo-we-wont-repeat-the-mistakes-of-microsoft/ <comment><USER2> I can hear Caesar speak: We will not make the mistakes of the Greeks.

But there are so many other mistakes that you can make.

I'm sure Bill Gates never planned to make the same mistakes that IBM made. So he didn't, but he found some original ones.

'This too shall pass' applies to google as much as it applies to microsoft.

It's hubris to think that you can go the distance simply by avoiding the mistakes of your competitor.

<comment><USER3> Good points, all, but that's not really what he said. And by the tone of his talk, I don't think HE thinks they can "go the distance" by just doing avoiding past mistakes.

Then again, I could have mis-heard. But I did actually listen to it. =)

<comment><USER2> Google is making plenty of mistakes as we are writing this, and I think most of those have a pretty good history of being 'past mistakes', including, but not limited to not listening to your customers, crappy support and changing your 'winning formula' to try to make a few bucks. Coupled with a total lack of transparency I think they are well underway stringing out the rope that will eventually hang them, or that will give a competitor a leg up.

Since the other giants don't seem to be too busy with really trumping them I think the final challenger will be one that right now is maybe on a drawing board somewhere, but not an established entity.

And google is geared very well to dealing with the existing competition, but does not seem to do well with 'upstarts'. If the youtube vs google video contest was a sample of how things will play out then they will have their work cut out for them.

One thing is for sure, it will be interesting to watch.

<comment><USER4> Excellent observations.</comment></comment></comment></comment>