blog dds

2008.02.02

The Power of an Integrated Platform

FreeBSD, unlike Linux, is not a kernel, but a complete operating system. This allows a much smoother integration of its components, which is a real boon when you try to locate and fix a problem. The source code for all the parts is all ordered in a single directory tree for you to examine and experiment with.

I came to appreciate this yesterday, when I spent a few hours translating two sentences for the Greek edition of my book Code Quality: The Open Source Perspective. The particular example, part of the section describing internationalization and localization, detailed the locale-specific sorting of German words containing non-ASCII characters. I naturally wanted to replace the example with a Greek equivalent, but the sorting of names I tried refused to follow the Greek collating sequence. Specifically, I would expect letters with a stress to follow their plain equivalent, rather than get placed in the ISO-8859-7 or Unicode order, which has them located at the ends of the alphabet.

The system refused to follow my orders. Maintaining the complete source code for the system is very common in FreeBSD installations, and I find this feature incredibly useful. It was thus easy for me to locate the source code of the file containing the source code of the collating sequence specification for Greek. This showed me that the order I wanted wasn't really specified. For instance, in the following code excerpt, the letters alpha (a*) and alpha with a stress (a%) are specified to follow each other.