I should make a better effort to get to know my neighbors. I don’t think it’s necessary to become friends, but it’s good to know the people that live the closest.
Because I don’t think that for example Facebook friends will be of much use if, say, there’s a disaster. When electricity is gone, Facebook cannot be reached. Even close friends that live scattered throughout town might be too far away. Given that the phone still works, we can at least reach each other. 
Even in an interconnected future the stronger bonds will be with the people you physically interact with.
 By the way, perhaps services like Whatsapp and Line will eventually become more popular than Facebook. Because people connect within these services only if they know each other’s phone numbers. This seems to be a (at least slightly) stronger connection than adding someone on Facebook. And it’s more likely to be used for the coordination of real world activities, as well. Isn’t it?
There are very good reasons to want your own e-mail server. I’ve tried several setups and found the Courier-mailserver the simplest to work with. Here’s a tutorial on how to set it up.
This should take about 15 - 30 minutes.
Here’s what you will have in the end:
Own email server where you can configure an unlimited number of email addresses with an unlimited number of domain-names. However, in this setup each address is bound to a user on the Linux system.
SMTP and IMAP with encryption. Even though email may travel unencrypted to it’s destination, the link between your mail client and your mail server should be encrypted.
Here’s what you need:
An Ubuntu 13.10 server in the cloud (other Ubuntu version should work). You can get those for 5 euros a month or so. (Because a virtual server is just fine for this task. You don’t need 32 Gigs of RAM and 8 cores..)
A domain-name where you can configure DNS. Specifically: You want to change the MX-record.
Some basic knowledge of Linux.
Ok, I will explain to you now how to install the Courier mail suite. I know there are several popular other ones, but this just happens to be a guide about Courier.
If you get stuck or have special config needs, then please also refer to the end of the article where I list a few helpful links.
First, connect to your email-server using SSH. Make sure you can execute commands with sudo. Start with
So, this was the server-side. Let’s go ahead and configure a mail-client. I will jsut go ahead and use the fictional user/address firstname.lastname@example.org here, as well.
Here’s the settings in Mail on OSX. It’s pretty much analogous with Thunderbird etc.
For Accounts/Account Information:
Account Type: IMAP
Email Address: email@example.com
Full Name: Suntke Svensson ;)
Incoming Mail Server: example.com
User Name: suntke
Outgoing Mail Server (SMTP): example.com, configured below.
TLS Certificate: None
IMAP Path Prefix: INBOX
Port: 993 with Use SSL checked.
Configuration - Part 4, Client-side, Outgoing
Server Name: example.com
TLS Certificate: None
Use default ports (25, 465, 587) checked.
Use Secure Sockets Layer (SSL) checked
User Name: test
Configuration - Part 5, DNS
Use your domain registrar’s console (or do it yourself) to set the MX record. In this case you’d just set example.com, because you didn’t configure any subdomains such as mail.example.com.
Your Mail-program or OS will probably complain about the certificates not being signed. You can decide if you want to have them signed. It doesn’t make much sense if it’s just for yourself. Mark the certificate as “trusted” or add them to your “trusted certs” collection in your keychain.
If it doesn’t work
Try restarting both the server processas as well as your mail-client. Make sure your system trusts the certificates. Double-check your passwords.
As I was trying to verify this tutorial on a testing server it wouldn’t work at first, but restarting the client and accepting the certs permanently did the trick.
That’s it, congratulations. You have your own email-webserver. Here’s a few ideas on what you could do next:
install spamassassin. It’s not difficult and I’m sure you can google it. Or I can write a short post about it in the future.
install GPGTools so you can encrypt your email end-to-end. (this is for Mac, similar software is available for every major OS though.)
install squirrel-webmail if you need/want a web-frontend. Not my kind of thing but I thought I’d mention it.
use a database to manage users.
write filters for courier to automate things.
install the whole thing on a tiny computer like the Raspberry Pi, use a dynamic-DNS vendor that support updating of MX records, configure your router to forward mail to your Pi, and host the whole thing at home. ;)
Here are some links that might help you with Courier:
When developing an app, it’s sometimes nice to have a different logo for debug builds (play-icon in XCode) and archive builds. Especially when the versions behave differently.
Now, you can configure the different behavior by passing different values in “Preprocessor Macros” (Build Settings of your target in XCode), but here is just a quick tip on how to set different app-icons:
There’s many ways to go about it, including a prefix file, but I’m just setting the name of the icon file in “Preprocessor Definitions” like this:
And then in the plist itself I susbstitute the icon-filename with the variable name set above:
I think this is a fantastic read, perhaps especially for folks from the industry like myself. (Because we tend to get too enthusiastic about the tools we create at times.) But it also serves as a warning for those in the inner/englightened circle of information professionals, as well as for those being left out.
The Raspberry Pi board is a delightful device. I use it at home to play music. I just thought about what it would take to use it for file-storage, specifically, as a backup server.
The problem: One can plug in a harddisk and copy some files. But unless the harddisk is in a different place, it’s still vulnerable. If thieves come, they might steal your computer AND your backup-disk. If there is a fire, same problem.
Since the NSA has somewhat killed cloud-computing (or would you stil use Dropbox, etc.?), there’s a need for a new strategy.
Here’s the idea: The Buddy CloudTM.
In my protoype the following things are needed:
A buddy with the same equipment
Of course the equipment can vary, but the idea is simple: You keep his backups, he keeps yours. Encrypted, so he can’t read your data and you can’t read his.
(The device should always be plugged in so something low-power like the Pi seems useful.)
The syncing can be as simple as FTP, but it can get more sophisticated with rsync and more advanced algorithms.
What do you think? Buddies helping each other out by providing offsite-backups to each other.
To calculate the average salary of a group of people anonymously:
Person #1 invents a (high enough) random number and adds his salary to it. He passes the sum to person #2. #2 adds his salary and passes the new sum to person #3. And so forth, until #1 eventually gets the last sum from the last participant.
Person #1 subtracts the initial random number and divides the result by the number of people. The result is the average salary.
Caveats: People can lie and the number of participants should be big enough. (With 2 people person #1 will just find out the other persons salary.)
Because I use sferik/t (line 9 above) to get the list of followers, this particular script requires ruby to run. A Twitter-API key is also required and can be obtained with a few clicks at twitter.com.
The nice thing about this ugly script is actually just the last line: Because “lz” is a user on the server a simple call of “mail” is all it takes to deliver the data. My mail-client delivers it to my desktop using IMAP.
The result isn’t pretty, but it works.
Of course with some work I can write all sorts of fancy analytics and information into my daily email. But I’ll leave this as an exercise for the so inclined reader. ;)
I’ve just read a forum thread about how IT companies are trying to save money by hiring foreigners or programmers that just left school. Basically they, understandably, want to get the most value for the least amount of money. And this tends to result in all kinds of things, including the situation that guys with 50+ years have a hard time finding a job. They expect to be paid more than a kid that just left school. Why? Because of their experience.
“As if the old guys were worth that much more! Besides, kids are quicker with this tech stuff!”, you might think.
Let me tell you a quick story about experience.
Last year I was driving through Austria in my 5 series and just as the A10 near Salzburg was about to become the A1, less than 10 minutes away from the German border, the Engine switched off and would not start again. The car came to a halt on the side of the road. It was towed by the ÖAMTC to an offically recommended repair shop in Salzburg and I got a rental to go home.
The next day, on Monday, I called. They still hadn’t figured out why the car doesn’t work. One day later: “We are working on it. It’s really a mystery.”
On Wednesday they had replaced the on-board computer and all cables, connectors and pipes under the hood. On Thursday, an alleged 5 series specialst from BMW Salzburg took a look but didn’t find the cause. A BMW 5series specialst!
On the Friday they had finally found the cause. The sensor that measures the mixture in the engine was malfunctioning. But it was still reporting an “OK” to the error diagnosis computer. They just found the error because in their desperation they started to exchange parts randomly. A 20 Euro part had malfunctioned.
Bottom line: One week without my car, an extra trip to Austria to pick it up, and a 2000 Euro bill, bascially for their incompetence.
Now let’s fast forward until this week.
The car started running weirdly. It hardly had power and the Engine went off when I stepped off the brake as the lights turned green. Luckily the Engine started again.
Now, however, I have a guy.
He’s a mechanic who just opened up his own shop. He exclusively repairs BMWs. He’s very quick and you get the impression that he can take apart a 5 series completely and reassemble it again before lunch.
So I drove to his garage yesterday. I told him what had happened at the green light and that the car has little power. He asked me to open the hood and step on the gas pedal. The car made an unhealthy sound. Then suddendly, it ran smoothly! What did he do?
He unplugged the same little sensor that was broken in Austria. And plugged it back in (to reset it so the values it sent were correct I assume).
I never told him about the breakdown in Austria, so he didn’t have that information from me.
He said: “This here is broken. Come back tomorrow and I’ll have an original one. This is some 3rd party sensor and it makes your car run like shit.”
“How much do I owe you?”, I asked.
“Nah, nothing. It was 10 seconds of work.”
Same thing. Different mechanics.
THIS is what you get when you deal with people that have experience.
It’s a little offering I want to make for everyone that would like to have their own dedicated email server, beause Gmail, Hotmail, Yahoomail etc. have become increasingly unsafe.
The idea is that you rent a¡dedicated or virtual Ubuntu server in the cloud and give me your password and 50 bucks. I will log on and install and configure your new email-server. Afterwards you check if it works and change the password.
And then you have your own email-server with as many email accounts as you like. With your own domain-name of course.
Anyway, I am offering this now, and I wonder if anyone is interested.
In a post called “The Slippery Slope” the author talks about shady tactics by online-businesses. It’s mostly about UX that tries to hide/obscure certain things from the users. Things like “Sign up for our newsletter”, “buy a subscription” or “enable ad-tracking”.
The examples are great and it’s worth your time to read it.
As with most scams, some consumers will say “That’s nothing new. This has always be happening. Think about Nokia-ringtones in the 90s that would come with a subscription.”
True, but this is a nice reminder. And good examples make consumers more alert the next time they sign up for something.
Btw. even Apple isn’t excluded. They hide their “Ad tracking”-option in some obscure settings-submenu using unnecessarily indirect language in the option-label. Quite shady, Apple!