FAQ

Published on 2020-10-25. Modified on 2021-02-20.

I get a lot of email in which people tend to ask the same questions, so I will try to fill out this FAQ with answers to the most common questions (as time permits).

Table of contents

What is your favorite operating system and why?

OpenBSD because it is very Unix-like and very well designed. The developers make great effort in doing things right, as opposed to what might be popular. All the OpenBSD applications and tools follow a specific set of rules in both code implementation, security, configuration and documentation, which makes OpenBSD really stand out because of the high quality.

When the OpenBSD developers make a choice or take a stand regarding a specific issue, you can be sure it is based upon firm knowledge and uncompromising reason. They are very thorough and meticulous in the work they do. You will find no hype or trends in OpenBSD.

OpenBSD is fantastic!

What operating systems do you use?

I use OpenBSD, FreeBSD and a couple of different Linux distributions, such as Artix Linux, Alpine Linux, Devuan GNU/Linux and Void Linux, but I also have a couple of old servers and other machines that run other Linux distributions.

What operating system do you recommend to a newcomer from Microsoft Windows?

This is difficult to answer because it depends on your requirements and experience. Almost anything open source is better than Microsoft Windows! But are you a power user who wants great control over your operating system? Or are you a user who just wants a point-and-click solution?

I recommend that you take some time to study a bit first. Learn a little about the Unix philosophy and the Unix shell (perhaps get a good book) before you begin your journey. Even if you never need any of this it will still benefit you greatly.

You will find that from a day-to-day user experience point of view, once you have everything set up as you like, there is little difference and most FOSS operating systems will solve your problems equally well. This is because we actually rarely deal with the operating system itself, we mostly deal with applications. Whether you e.g. use mpv to watch a movie on Linux or BSD makes no difference as long as you get great hardware support, the movie will play fine on both.

However, there is a big difference in how secure the operating system is. There is also a difference in what type of file system is supported, how much you can tune and fiddle with the operating system, whether the operating system (in the case of a Linux distribution) comes with a preset desktop environment or you install one yourself, how good the package manager is at solving dependency issues, whether you need a proprietary graphics driver, or you can manage with an open source version, etc.

In any case, I do not recommend any Linux distribution that "holds your hand" too much because you'll learn nothing and gain no control over your system.

I generally don't recommend Ubuntu or Ubuntu based distributions. Neither do I recommend Fedora or Fedora based distributions. These distributions make the Linux experience pretty bad because they try to be everything at once, but without doing anything particularly well.

Take a look at my article Some of the great GNU/Linux distributions.

What is your favorite programming language?

I actually really like to code in assembly language, but unfortunately haven't done so for a very long time. With assembly language you're really dealing with the hardware, and your coding is all about giving the computer instructions, one instruction at a time.

On a higher level I have always found myself in a bit of a dilemma. C and Go are currently my two favorite programming languages, but I really prefer the syntax of Pascal as I find it easier to read and understand. When I look at the source code of a program written in Pascal or Ada I can quickly understand big parts of the code. But when I look at the source code of a C program, I feel that it requires much more of an effort to understand what's going on, which is something I hate because I believe that clarity is very important in programming.

I don't like big and complex programming languages, such as C++. I also hate poorly designed languages, such as PHP (so many stupid issues exist with PHP). The PHP developers are constantly working to improve the language, but unfortunately they are also constantly adding new features to the language, making it more and more complex.

I have done quite a bit of programming in Python and found it nice to work with, but it's been a while since I last had any use for it. I prefer Go to Python.

If I where stranded on an isolated computer programming island and only had the choice of taking one single programming language with me, it would definitely be C. You can make just about anything with C and you have the freedom to do it anyway you like.

By the way, the Zig programming language is looking very very promising and it is perhaps the first programming language since C, that actually has a real chance of becoming a better C! I highly recommend the talk The road to Zig 1.0 on YouTube by the author Andrew Kelley.

What about Rust? Well, IMHO it is not a better C! It adds some safety features, but it also adds a lot of complexity.

What do you recommend for a secure smartphone?

I don't! I absolutely hate both smartphones and tablets. It's like you have been handed a broken laptop with a very small screen and the keyboard is missing. Now you have to walk around with that piece of crap in your pocket! I use a regular old dumb phone.

If you absolutely cannot live without a smartphone (you know you can right?), then at least find a supported device you can root and install one of the open source versions of Linux on the device.

What do you recommend for secure email?

None of the public services. Setup your own mail server. Always use GPG encryption whenever possible.

What do you recommend for DNS?

None of the public services. Setup your own recursive resolver. Even if you only have a single laptop, you can still setup a recursive resolver on that and then send all DNS queries to 127.0.0.1. I highly recommend Unbound.

Do you hate Microsoft Windows?

I managed to spend a big part of my life providing support for Microsoft Windows and other Microsoft related products, both on the desktop and on the server market. I cannot count how many hours of my life I have wasted due to the absolutely poor quality of these products compared to the open source alternatives. In every single case, where I later convinced someone to move to an open source alternative, the result was the same, an amazing rise in stability, security and overall run time.

In my opinion Microsoft Windows is some of the worst piece of garbage you can install on a machine and it has not gotten any better over the years.

Unless you're a gamer, I see no reason what so ever to ever want to have Microsoft Windows installed on anything!

And no, Microsoft has not changed and suddenly become the best of friends with the FOSS communities! They have just changed their business strategy.

FreeBSD or OpenBSD, which of these operating systems do you recommend?

Please see: Choosing between OpenBSD and FreeBSD.

What email client do you use?

I mostly prefer to read email in the terminal where I use Mutt as my email client and Vim as my editor. But sometimes I prefer a GUI email client, in which case I prefer Claws Mail. Both Mutt and Claws Mail have full support for GPG encryption.

What do you recommend for storage or NAS?

FreeBSD with ZFS!

Are you using some blog software and theme that you found, or is everything custom made?

The theme and everything else is custom made. I write HTML and CSS by hand. Please see: Come full circle - back to HTML.

What is your workflow?

Please see: Come full circle - back to HTML

Can I use your website style sheet?

Yes, of course.

Can you send me your website theme?

Just look at the HTML source, everything you need, including the CSS style sheet, is right there.

When I try to access your website using Tor or VPN I get: Error: IP in X-Forwarded-For header is blocked

I am sorry about this, but I'm currently not self-hosting and my hosting provider blocks an IP address if it has been used in some malicious way (according to them) within a certain amount of time. This is not specific to Tor or VPN services, but in general.

What particular hardware do you recommend?

I don't recommend any specific hardware. If you ask this because you want to know if your hardware is compatible with OpenBSD or FreeBSD then take a look at their respective sites such as OpenBSD supported platforms and FreeBSD hardware compatibility.

If you have specific questions regarding specific hardware, then search the mailing list archives for related questions. Archives: OpenBSD misc and FreeBSD questions. If you cannot find similar questions, join the relevant list and ask if anyone else has any experience with the specific hardware you need information about.