Its time for config files to come out of the wiring closet.
June 4th, 2008Config files have a tough time. They start out trying to fit in by looking really ordinary. They try to look like
parameter = value
or
parameter: value
but they need more freedom to be their true selves. So, they try to add a little order to their lives. They add a little structure with section headings like
[section1] parameter = value [section2] other-parameter = other-value
but they still feel constrained. Some of their Native American breathren, from the Apache tribe, go a little further, with
<section> parameter = value </section>
but face scorn for being a little on the wild side. Well, its time they broke free, came out of the wiring closet, and admitted they were XML all along. Can you imagine the freedom it brings to finally admit that what you’ve always wanted to say to the world is
<?xml version="1.0"?>
<!DOCTYPE global-tones SYSTEM "../tones.dtd">
<global-tones>
<tone-set country="United States" uncode="us">
<dial-tone>
<step freq="350+440 || 480+720" level="-13 [1.5dB]"/>
</dial-tone>
<dial-tone domain="PABX">
<step freq="350+440 || 480+720" level="-16 [0.75dB]"/>
</dial-tone>
<dial-tone type="recall">
<step cycles="3">
<step freq="350+440" level="-13 [1.5dB]" length="0.1"/>
<step length="0.1"/>
</step>
<step freq="350+440" level="-13 [1.5dB]"/>
</dial-tone>
<dial-tone domain="PABX" type="recall">
<step cycles="3">
<step freq="350+440" level="-16 [0.75dB]" length="0.1"/>
<step length="0.1"/>
</step>
<step freq="350+440" level="-16 [0.75dB]"/>
</dial-tone>
<ringback-tone>
<step cycles="endless">
<step freq="440+480 || 380+460" level="-19 [1.5dB]" length="2.0"/>
<step length="4.0"/>
</step>
</ringback-tone>
<ringback-tone domain="PABX">
<step cycles="endless">
<step freq="440+480" level="-16 [1.5dB]" length="1.0"/>
<step length="3.0"/>
</step>
</ringback-tone>
<busy-tone>
<step cycles="endless">
<step freq="480+620 || 480+720" level="-24 [1.5dB]" length="0.5"/>
<step length="0.5"/>
</step>
</busy-tone>
<busy-tone domain="PABX">
<step cycles="endless">
<step freq="480+620 || 480+720" level="-21 [1.5dB]" length="0.5"/>
<step length="0.5"/>
</step>
</busy-tone>
<congestion-tone>
<step cycles="endless">
<step freq="480+620 || 480+720" level="-24 [1.5dB]" length="0.25"/>
<step length="0.25"/>
</step>
</congestion-tone>
<congestion-tone domain="PABX">
<step cycles="endless">
<step freq="480+620 || 480+720" level="-21 [1.5dB]" length="0.25"/>
<step length="0.25"/>
</step>
</congestion-tone>
<call-waiting-tone>
<step cycles="endless">
<step freq="480+620" level="-13 [1.5dB]" length="0.3"/>
<step length="10.0"/>
</step>
</call-waiting-tone>
<call-waiting-tone domain="PABX" type="station-call">
<step freq="480+620" level="-16 [1.5dB]" length="0.3"/>
</call-waiting-tone>
<call-waiting-tone domain="PABX" type="outside-call">
<step cycles="2">
<step freq="480+620" level="-16 [1.5dB]" length="0.1"/>
<step length="0.1"/>
</step>
</call-waiting-tone>
<call-waiting-tone domain="PABX" type="urgent-call">
<step cycles="3">
<step freq="480+620" level="-16 [1.5dB]" length="0.1"/>
<step length="0.1"/>
</step>
</call-waiting-tone>
<special-information-tone>
<step freq="950" level="-13 [1.5dB]" length="0.33"/>
<step freq="1400" level="-13 [1.5dB]" length="0.33"/>
<step freq="1800" level="-13 [1.5dB]" length="0.33"/>
</special-information-tone>
<warning-tone type="operator-intervening">
<step freq="440" level="-13 [1.5dB]" length="2.0"/>
<step length="10.0"/>
<step freq="440" level="-13 [1.5dB]" length="0.5"/>
<step length="10.0"/>
</warning-tone>
<warning-tone type="operator-intervening" domain="PABX">
<step freq="440" level="-13 [1.5dB]" length="1.5"/>
<step length="8.0"/>
<step freq="440" level="-13 [1.5dB]" length="0.5"/>
<step length="8.0"/>
</warning-tone>
<waiting-tone domain="PABX">
<step freq="440" level="-13 [1.5dB]" length="0.3"/>
<step length="10.0"/>
</waiting-tone>
<record-tone>
<step freq="1400" level="-13 [1.5dB]" length="0.5"/>
<step length="15.0"/>
</record-tone>
<executive-override-tone domain="PABX">
<step freq="440" level="-14 [1.5dB]" length="3.0"/>
</executive-override-tone>
<intercept-tone domain="PABX">
<step freq="440" level="-13 [1.5dB]" length="0.25"/>
<step freq="620" level="-13 [1.5dB]" length="0.25"/>
</intercept-tone>
<confirmation-tone>
<step freq="350+440" level="-13 [1.5dB]" length="0.1"/>
<step length="0.1"/>
<step freq="350+440" level="-13 [1.5dB]" length="0.3"/>
</confirmation-tone>
<confirmation-tone domain="PABX">
<step cycles="2">
<step freq="350+440" level="-16 [1.5dB]" length="0.1"/>
<step length="0.1"/>
</step>
<step freq="350+440" level="-16 [1.5dB]" length="0.1"/>
</confirmation-tone>
</tone-set>
</global-tones>
Doesn’t that feel good? You can build your own little nest where you feel at home. You are no longer limited in the depths you can express.