Setting up a mail server – requirements

Over the last month or so I have been playing with a VPS that is hosted at This is fun. So I installed Ubuntu Server 11.10, and have already upgraded to 12.04 LTS. I have access via ssh with key pairs, and even managed to move the WordPress stuff from (the old) to (the new). Later on I will setup virtual domains with Apache and see how that works.

Now I have decided that I need a real challenge: I am going to setup a mail server. My goal is to have this mail server running within a month so I can stop my hosting program and run entirely from the VPS. Am I not a very ambittious guy?

Continue reading

Transferring a domain registration

I moved the registration of my domain from DreamHost, where it is currently hosted, to, where over time I intend to run everything I need from a VPS. I want to keep the DreamHost hosting intact for at least a few more months. Mainly because they also host my mail.

The move was complete within a few hours with only a few confirmation emails to handle. Unfortunately I did not think to check the DNS records until I found that I could not connect to the mail server any more with Thunderbird. When I did check I found that was pointing at a placeholder site and the mail MX records were pointing nowhere.

Luckily the DreamHost panel still showed their last version of the DNS records and I copied these values to the DNS records at TransIP. After a few hours everything started to work again. Now I am just not sure how many emails I have missed in the process. Oh well, if it is important I will hear about it anyway.

Programming again

Once upon a time I was a full time C++ developer. Oh, wait, that was only three years ago. Since then I have mainly been working in C#, which is quite nice with easy integration with nUnit, Rhino Mocks and a company proprietary continuous integration system. However, I consider C# to be Windows only. Of course I know of Mono but I will not even think af going there. See here and here.

Right now I want to return to C++; it is still my favourite language. And since I mainly run Linux at home, I want to do cross platform development, even if I am the only person who uses it. That means that the code I write has to compile and work on both Linux and Windows. I would prefer even more systems, but at the moment I only have access to those two.

Continue reading

Driving the 4 digit 7 segment display

Here is the documentation of my next step: driving the LED display. The design and the C code were not really difficult; the steps to put the results here were.

As I noted before I use a PIC 16F887, but CadSoft Eagle didn’t have this component in its library, so I drew a 877 which is pin compatible. Now I wanted to get it right and so I started my own library. Copying the 877 to it and then renaming it to 887 was simple enough. The next step was to get my 4 digit 7 segment display (datasheet in PDF)  in Eagle. I did find a 3 segment display that came close and it took me a bit of time to add the fourth digit. Now my custom library contains two components!

Continue reading