Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

My rule of thumb is that things should never be disabled automatically. Make the test hard fail and print a message that the feature can be disabled.


In my code I have a bunch of routines optimized for different platforms, e.g. using x86 AESNI instructions. Not all compilers support them, and they don't even make sense when compiling for a different CPU architecture.

It's much simpler to say "enable this if we can compile it" rather than detecting the compiler and target platform and throwing a mess of conditional compilation into an autoconf script.


That’s how you make unusable/uncompilable software. It might be a good rule for something security critical like ssh but not as a general rule.


I'd rather have people complaining about having to run configure a bunch of times to disable several features they don't have the libraries for than complaining that a feature doesn't work (because it ended up being disabled without them knowing).

Likewise, I'd rather distros figure out the hard way when a new release has a new feature and needs a new dependency rather than their users complain that a new feature is missing.

Principle of least surprises.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: