Self-Host Everything
slashgeek.net
slashgeek.net
But these things are creeping into native speakers' use also. They are:
1) Confusing the words 'lose' and 'loose.' Lose is the word you use when you mean the opposite of 'find.' It is also used to mean the opposite of 'win.' Loose is something that is the opposite of 'tight.' There is no 'loosing,' (EDIT: a1k0n corrects me here, see his comment below) there is 'loosening,' however, as in what you do to your belt after a large meal. OP makes this error.
2) Using apostrophes for plural. Apostrophes are used to show (a) possession and (b) contraction (leaving letters out of a word). Writing "I'm buying two car's" is incorrect. Replacing your car's winshield wiper blades is ok. So is leaving out the car entirely when drawing a 'toon.
This IMO highlights why one shouldn't get too anal about specific word forms as long as the intent is apparent. Of course one can generate inaccuracies this way but generally an honest attempt to receive the communicated information doesn't gan aft agley.
My favourite is guessing whether there is an s or c in some words, sometimes it feels completely arbitrary. I cannot count how many times I've misspelled 'choice' (actually misspelled it just now but the spell checker caught it).
Languages evolve; some of the current "mistakes" will no doubt become new norms. The changes that stick will tend to be those that cause no ambiguity and confusion.
Edit: even better, the Disqus comments are now failing to load with the message "Sorry, we're undergoing temporary maintenance."
I got a domain in 2002 and since then I've used it as part of my identity. It costs some money, but not much and it's totally worth it.
Non technical people may freak out a little bit when they ask you for your mail address because you don't answer with the expected gmail.com (and hotmail.com before that), but that's all right.
EDIT: typo
There must be a checklist somewhere, but off the top of my head:
- Your server's IP must be static and must have a reverse map (IP -> name); check your IP is "clean" and not in a blacklist, specially when you get it from your ISP range (may be someone used it before you and it has a poor reputation).
- Setup your DNS correctly using MX records.
- Use SPF or DKIM so other servers can detect forged emails not coming from your server(s); besides this is nice to filter backscatter spam.
- Obviously don't configure your mail server as an open relay, use SMTP with SSL or TLS, always with user authentication.
I've been using this setup for years and most of my problems are receiving mail and never sending it (ie. misconfigured servers not playing nice with graylisting, Google servers blacklisted by my DNSRBL, etc).
EDIT: formatting
I've self-hosted DNS, mail, web, etc. for years, and several people have posted the same kind of comment here, so here's what people will need to know/do to self-host their own mail.
First, you'll almost surely need a non-end user IP address, as many/most of such address ranges are in the Spamhaus PBL list [0]. To see if your IP address is listed in PBL, for the example IP address 192.0.2.200, do
dig 200.2.0.192.pbl.spamhaus.org
Here, the octets are reversed and prepended to pbl. While you're doing this, you may as well also do
dig 200.2.0.192.zen.spamhaus.org
Again, replacing the above IP address with your own. This checks the Zen list [1].
For a non-end user IP address you'll most likely need a datacenter machine, a business line, a VPS, or a machine hosted at a large organization. A home Internet connection won't cut the mustard for mail.
Second, you'll need FCrDNS [2], or at least rDNS. rDNS is just short for reverse DNS, which means having a PTR record in DNS for your IP address. It could be anything, but something non-generic is best, such as mail.example.com, or puffy.example.com. wireless-cust-0-200.example.com is generic and will score "bad" points on some remote systems.
It's best if you can do FCrDNS, which is trivial. All that entails is matching PTR/A records.
This is all you need for Gmail or any other serious mail provider to accept your mail. Unfortunately it makes self-hosting from home more difficult, but the upside is a huge reduction in spam.
Last thing, you should check http://dnsbl.info or a similar site to see if your mail server's IP address is listed in any DNSBLs.
0. http://www.spamhaus.org/pbl/ 1. http://www.spamhaus.org/zen/ 2. https://en.wikipedia.org/wiki/Fcrdns
And then you probably want backups, and monitoring, and what not.
Ideologically I'm fully a favor of self-hosting many bits, but having some experience with it, I'm also acutely aware of the downsides.
In this fashion the things I create in my life would be under my control, at least to a certain degree. Computers are an extension of our minds, and we deserve to own and control our output in one place, even if we choose to share lots of things in various forums.
In any case, I like Tent as they are developing / have developed a generic distributed social networking protocol (with some sample implementations etc.) [/old news]
It seems it has stalled, though :(
The cost of hosting for someone not comfortable with email is quite high. Setting it up correctly requires many steps and if you get it wrong, perhaps your emails don't get delivered and you lose business. Compare this to the cost of using Gmail - effectively zero. However, this does not take the risks into account. Google owns your email and email address. If they, or one of a number of governments decide that the service should no longer be available to you for whatever reason, your email is lost. You could mitigate this by mirroring all your Gmail through IMAP/POP3 and using your own domain name. In security terms, the risk of Google taking away your account is low, but the impact is very high.
As an aside, I'd love to use Owncloud but after a incidence where it deleted files, I decided that it's not yet ready for production use.
I used http://github.com/coto/gae-boilerplate to write a few sites which host data objects in GitHub gists. Here's my OpenStack blog which uses it: http://StackGeek.com/, and an example of a raw post stored in a gist: https://gist.github.com/kordless/93e491c4880a416907be.
I still rely on GitHub for keeping my data safe, but most of my code there also lives on my desktop in the form of cloned repos.
- version control
- bug tracker
- invoicing app
- document sharing
- project management
- file server
- mail server
- static server
- ruby/node server
- php / wordpress blog
Just off the top of my head. That will cost you a lot of time and head-banging.* version control - git and gitweb - I mirror all my repos to github for discoverability though * invoicing - I've done this with text files to track hours and PDFs for invoices (via LibreOffice) - low tech but simple enough * document sharing - my home dir on my server (weak, I know, but simple) * file server - see above * mail server - postfix, amavis, and spamassassin aren't too hard to set up * static server - apache or nginx are trivial to set up * ruby/node - well, I mostly serve Perl stuff, but same deal using Starman - this isn't too hard either * wordpress - yep, installed this too
Things I don't host myself:
* bug tracker - I mostly use rt.cpan.org and github * project management - I use Hiveminder
Now if I had to learn all this from scratch it would indeed be a lot of time and head-banging, but I've learned about this stuff over many years of using Linux and hosting my own stuff. And they're all useful skills to know as a developer.
I think any developer who's working on web apps should understand at least the basics of how web and mail servers work. Even if you outsource this stuff to a CDN and something like Sendgrid you should know the tradeoffs involved instead of just picking the outsourcing because you can't set it up yourself.
Also I don't find it very secure, you would need to have multiple backups to make sure nothing gets lost if your server gets erased.
And even if it feels safer because you assume they have people working on it that know what they're doing, in many cases this is a very bold assumption.
Edit: My comment was slanted towards linux and I forgot to mention that maybe some familiarity with linux would be useful, but windows is also an alternative (usually more expensive).
Set up rkhunter and denyhosts.
Then, sit back and watch the logs as the attacks come in.
But with rsync, dvcs (I use hg), and even davcal (which I turned off for some reason I've now forgotten- I just use Google), life is pretty sweet.
My IP almost never changes (it's been the same for at least two years), but I still can't run an SMTP server off of it, since it's listed in Spamhaus' PBL[1], so many servers refuse my mail.
If you're in it for more than just the learning experience, hosting at home will probably give you bad/unreliable upload speeds (assuming you have a typical ISP). A VPS service like Linode or others would give you basically the same learning experience with the added benefit of a good connection.
https://github.com/boxen/our-boxen
It'll save you a lot of the configuration problems initially, until you're ready to configure.
1. Get an old computer and plug into router
2. Install ubuntu server
3. Buy your domain from namecheap.com and look up their documentation on dynamic DNS (assuming you are on a home net connection
I did self hosting for years (age 16 - 24) with the same K6-II box. Just recently retired it and use a VPS now, but I highly recommend doing it to anyone
Honestly this might work OK for a personal blog or something but is not a realistic approach to hosting anything with volume or for business purposes. Also you will still probably need to pay for SMTP service as there is almost no chance of anyone accepting mail from your self-hosted SMTP server when the reverse lookup resolves to an e.g. Comcast residential DHCP name.
I've personally never had issues with my ISP blocking it, but I read accounts from time to time (in this thread for instance) where people had issues with ToS enforcement. You'll have to evaluate your own situation, or just give it a shot until they explicitly react.
But you are right about email- it's a pain. Most likely you will have a bad time trying to get something authentic-looking working with a home ISP. Even doing it on a legit VPS is fairly complex.
Done properly, it really requires very little ongoing maintenance. Maybe a few hours per year. DNS requires even less.
Unless you're confident you can securely configure your network and services AND stay on top of patches, etc it's probably a bad idea to self host.
It's an extremely cheap setup if you don't need to worry about downtime in the event of hardware failure
They were asked to assist with Hurricane Sandy relief efforts as well, and the project seemed to be successful.