GNU Units
One of my favorite feature is guessing the physical quantity from the dimensions. For example:<p><pre><code>    You have: A &#x2F; m
    You want: ?
    H_FIELD       B_FIELD &#x2F; (mu0&#x2F;mu0_SI)
    MAGNETIZATION MAGNETIC_DIPOLE_MOMENT &#x2F; VOLUME
    Oe            oersted
    oe            Oe
    oersted       gauss &#x2F; mu0
</code></pre>
The units definitions file also contains many interesting facts, here&#x27;s an excerpt:<p><pre><code>    A         !      # The ampere, symbol A, is the SI unit of electric current.
    ampere    A      # It is defined by taking the fixed numerical value of the
    amp       ampere # elementary charge, e, to be 1.602 176 634 * 10^-19 when
                     # expressed in the unit C, which is equal to A*s.
                     #
                     # The previous definition was the current which produces a
                     # force of 2e-7 N&#x2F;m between two infinitely long wires a meter
                     # apart.  This definition was difficult to realize accurately.
                     #
                     # The ampere is actually realized by establishing the volt and
                     # the ohm, since A = V &#x2F; ohm.  These measurements can be done
                     # using the Josephson effect and the quantum Hall effect,
                     # which accurately measure voltage and resistance, respectively,
                     # with reference to two fixed constants, the Josephson
                     # constant, K_J=2e&#x2F;h and the von Klitzing constant, R_K=h&#x2F;e^2.
                     # Under the previous SI system, these constants had official
                     # fixed values, defined in 1990.  This created a situation
                     # where the standard values for the volt and ohm were in some
                     # sense outside of SI because they depended primarily on
                     # constants different from the ones used to define SI. After
                     # the revision, since e and h have exact definitions, the
                     # Josephson and von Klitzing constants will also have exact
                     # definitions that derive from SI instead of the conventional
                     # 1990 values.
                     #
                     # In fact we know that there is a small offset between the
                     # conventional values of the electrical units based on the
                     # conventional 1990 values and the SI values.  The new
                     # definition, which brings the practical electrical units back
                     # into SI, will lead to a one time change of +0.1ppm for
                     # voltage values and +0.02ppm for resistance values.
                     #
                     # The previous definition resulted in fixed exact values for
                     # the vacuum permeability (mu0), the impedance of free space
                     # (Z0), the vacuum permittivity (epsilon0), and the Coulomb
                     # constant. With the new definition, these four values are
                     # subject to experimental error.</code></pre>