For this or that reason, I have installed a IRC server on my home computer. The choice of software was as simple as looking though yum
repositories and getting hybrid-ircd. I just needed anything at all.
Fetching and installing an RPM was extremely fast and easy. Then I openned a configuration file and quickly scrolled through it, changing some of the obviously appropriate options. The default configuration file was over 20K, so, obviously, I haven’t read it through.
When I tried to start the daemon, it was coming up, but then immediately dying. I looked here and there and found a log file. In the log file, I saw these lines:
You haven’t read your config file properly. There is a line in the example conf that will kill your server if not removed. Consider actually reading/editing the conf file, and removing this line.
Hmm… I went back to the configuration file and scrolled through it again, paying a little bit more attention. But it was mostly filled with options that I didn’t care about. All I needed was a standalone IRC server as fast as possible.
I searched through the file for a couple of patterns, but that didn’t came up with anything. 20K is still way too much to read, I thought. So, I turned to Google. Within seconds I had exactly what I needed. This forum thread suggested that I look for:
/* REMOVE ME. ... checks you've been reading. */ havent_read_conf = 1;
That helped – I fixed the configuration option and the daemon started just fine.
Now, I am thinking if such methods are smart of stupid? On one hand, it made me look through the configuration file with more attention. But on the other hand, I quickly found the solution the problem with Google and not with my own two eyes.
There are pros and cons, as usual. I am more against such methods, than in favor. If there are some really important options in the configuration file that you want your users to edit, just say so – “This section is very important! Please read carefully and edit all options.”. Introducing special options that prevent software from running, just because the user hasn’t found them (or haven’t understood the instructions) is mean.