<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Plain Text Config Files are Confusing</title>
	<atom:link href="http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/feed/" rel="self" type="application/rss+xml" />
	<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/</link>
	<description>Longer than a blog; shorter than a book</description>
	<pubDate>Thu, 20 Nov 2008 23:04:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: she</title>
		<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-187499</link>
		<dc:creator>she</dc:creator>
		<pubDate>Sat, 09 Feb 2008 01:45:15 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-187499</guid>
		<description>Personally I have switched to Yaml for 90% of my projects.

It works nicely. Yaml is no panacea but it works nicely, is a LOT more readable than XML, and 
does the job fairly well. I'd wish all scripting languages would support (and use) YAML like Ruby does, 
this way I can know that all my yaml files will work in other languages too.

Instead of embedding info in a .rb file, I am embedding the info in a yaml file, which is a lot better to 
not tie yourself to only one language. Think if instead of C .h files they would use yaml and provide nice 
APIs to use from ruby easily... i am dreaming :)</description>
		<content:encoded><![CDATA[<p>Personally I have switched to Yaml for 90% of my projects.</p>
<p>It works nicely. Yaml is no panacea but it works nicely, is a LOT more readable than XML, and<br />
does the job fairly well. I&#8217;d wish all scripting languages would support (and use) YAML like Ruby does,<br />
this way I can know that all my yaml files will work in other languages too.</p>
<p>Instead of embedding info in a .rb file, I am embedding the info in a yaml file, which is a lot better to<br />
not tie yourself to only one language. Think if instead of C .h files they would use yaml and provide nice<br />
APIs to use from ruby easily&#8230; i am dreaming <img src='http://cafe.elharo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Myers</title>
		<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-99432</link>
		<dc:creator>David Myers</dc:creator>
		<pubDate>Fri, 08 Jun 2007 17:38:02 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-99432</guid>
		<description>I've been server support for large projects that indulged in overly complex undocumented XML file configs and what that tends to do is give the project developers another role: second tier production support.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve been server support for large projects that indulged in overly complex undocumented XML file configs and what that tends to do is give the project developers another role: second tier production support.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Feinberg</title>
		<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-69157</link>
		<dc:creator>Jonathan Feinberg</dc:creator>
		<pubDate>Tue, 27 Mar 2007 10:51:13 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-69157</guid>
		<description>The idea that using XML somehow gives you some canonical way of expressing settings is a kind of a strawman. Consider:



or



or



or



or

gnorf</description>
		<content:encoded><![CDATA[<p>The idea that using XML somehow gives you some canonical way of expressing settings is a kind of a strawman. Consider:</p>
<p>or</p>
<p>or</p>
<p>or</p>
<p>or</p>
<p>gnorf</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Philippe Lhoste</title>
		<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-65295</link>
		<dc:creator>Philippe Lhoste</dc:creator>
		<pubDate>Thu, 15 Mar 2007 15:56:59 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-65295</guid>
		<description>&#62; In both cases, theyâ€™re still advocating single, well-defined syntaxes with standard parsers. 
&#62; They are not advocating plain text config files. 
&#62; To the extent that their data formats are only for Ruby or JavaScript programs respectively, this makes some sense.

Some mentioned YAML.
Well, there is also Lua, the programming language, initially designed as a configuration language, and evolved to be a powerful multipurpose language, but it still well suited to data description.
The nice part is that it isn't much bigger than an average XML parser, and can be easily integrated in another (compiled) language (C, Pascal, even Java) which can then access the result of parsing the configuration file by Lua.</description>
		<content:encoded><![CDATA[<p>&gt; In both cases, theyâ€™re still advocating single, well-defined syntaxes with standard parsers.<br />
&gt; They are not advocating plain text config files.<br />
&gt; To the extent that their data formats are only for Ruby or JavaScript programs respectively, this makes some sense.</p>
<p>Some mentioned YAML.<br />
Well, there is also Lua, the programming language, initially designed as a configuration language, and evolved to be a powerful multipurpose language, but it still well suited to data description.<br />
The nice part is that it isn&#8217;t much bigger than an average XML parser, and can be easily integrated in another (compiled) language (C, Pascal, even Java) which can then access the result of parsing the configuration file by Lua.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Smith</title>
		<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-61578</link>
		<dc:creator>David Smith</dc:creator>
		<pubDate>Sat, 03 Mar 2007 20:18:32 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-61578</guid>
		<description>I'm with Eric Raymond on this one - if humans maintain the file, it should be human-readable. Saying that there are ways to mangle XML so that humans can read it is very different from saying that they are "human readable".

Suggesting that every implementation of this mangling does and always will produce the same result is touchingly naive. I can pop XEmacs 21 today and read archived 25-year-old dotfiles from one of my System V user accounts and know that I'm seeing exactly the same text that I created in vi in 1982. Predicting that the XML parser of the moment in 2007 will produce exactly the same results as the XML parser of the moment in 2029 is a leap of faith. Call me old fashioned, but it's worked like a hot damn for a long time.

I'd also suggest that if you're going to make a point about ascii text config files, you use one from a mature, well-written platform like almost anything in a BSD /etc directory, sendmail or Apache. None of them are "any-human-off-the street-readable" but they work wonderfully for a qualified admin, are readily searched and manipulated by a raft of different tools, and can easily be created and/or maintained programmatically.

I'm a huge fan of XML as a way to transfer data between disperate systems - I'm just not willing to make it the only tool on my belt.</description>
		<content:encoded><![CDATA[<p>I&#8217;m with Eric Raymond on this one - if humans maintain the file, it should be human-readable. Saying that there are ways to mangle XML so that humans can read it is very different from saying that they are &#8220;human readable&#8221;.</p>
<p>Suggesting that every implementation of this mangling does and always will produce the same result is touchingly naive. I can pop XEmacs 21 today and read archived 25-year-old dotfiles from one of my System V user accounts and know that I&#8217;m seeing exactly the same text that I created in vi in 1982. Predicting that the XML parser of the moment in 2007 will produce exactly the same results as the XML parser of the moment in 2029 is a leap of faith. Call me old fashioned, but it&#8217;s worked like a hot damn for a long time.</p>
<p>I&#8217;d also suggest that if you&#8217;re going to make a point about ascii text config files, you use one from a mature, well-written platform like almost anything in a BSD /etc directory, sendmail or Apache. None of them are &#8220;any-human-off-the street-readable&#8221; but they work wonderfully for a qualified admin, are readily searched and manipulated by a raft of different tools, and can easily be created and/or maintained programmatically.</p>
<p>I&#8217;m a huge fan of XML as a way to transfer data between disperate systems - I&#8217;m just not willing to make it the only tool on my belt.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Labnotes &#187; XML configs files are your competitive disadvantage</title>
		<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-60782</link>
		<dc:creator>Labnotes &#187; XML configs files are your competitive disadvantage</dc:creator>
		<pubDate>Wed, 28 Feb 2007 03:38:27 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-60782</guid>
		<description>[...] February 27th, 2007  Elliotte Rusty Harold: &#8220;Thereâ€™s a large rebellion over XML config files from programmers who donâ€™t like to type XML and donâ€™t want to learn APIs for processing it. Theyâ€™d rather limp along with the same scanf code theyâ€™ve been using for the last 20 years.&#8221; [...]</description>
		<content:encoded><![CDATA[<p>[...] February 27th, 2007  Elliotte Rusty Harold: &#8220;Thereâ€™s a large rebellion over XML config files from programmers who donâ€™t like to type XML and donâ€™t want to learn APIs for processing it. Theyâ€™d rather limp along with the same scanf code theyâ€™ve been using for the last 20 years.&#8221; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian</title>
		<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-60721</link>
		<dc:creator>Adrian</dc:creator>
		<pubDate>Tue, 27 Feb 2007 20:42:13 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-60721</guid>
		<description>&#62;A simple configuration file moving to a not so simple configuration file over an applicationâ€™s life cycle is more likely a symptom of a design problem in the application. It is better to revisit the application design at that stage.

What? Either you want/need to expose a lot of configuration or you don't. Revisiting your design isn't going to change that.</description>
		<content:encoded><![CDATA[<p>&gt;A simple configuration file moving to a not so simple configuration file over an applicationâ€™s life cycle is more likely a symptom of a design problem in the application. It is better to revisit the application design at that stage.</p>
<p>What? Either you want/need to expose a lot of configuration or you don&#8217;t. Revisiting your design isn&#8217;t going to change that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian</title>
		<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-60719</link>
		<dc:creator>Adrian</dc:creator>
		<pubDate>Tue, 27 Feb 2007 20:34:07 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-60719</guid>
		<description>&#62;&#62;â€œWhat there is are specially formatted text files that are easily as complex as the XML equivalent but inconsistent, poorly documented, and easily broken"

&#62; Yes and the idiot that decided to subject his users to this will achieve the same results with XML.

No, they can't unless they write their own XML parser: XML has a specification, so it's always going to be consistent.

&#62;If your chosen language doesnâ€™t make it easy to robustly parse non-xmlian config files then maybe you chose the wrong language for the job. 

I think the point here is that plain text config files *are* the wrong language for the job.</description>
		<content:encoded><![CDATA[<p>&gt;&gt;â€œWhat there is are specially formatted text files that are easily as complex as the XML equivalent but inconsistent, poorly documented, and easily broken&#8221;</p>
<p>&gt; Yes and the idiot that decided to subject his users to this will achieve the same results with XML.</p>
<p>No, they can&#8217;t unless they write their own XML parser: XML has a specification, so it&#8217;s always going to be consistent.</p>
<p>&gt;If your chosen language doesnâ€™t make it easy to robustly parse non-xmlian config files then maybe you chose the wrong language for the job. </p>
<p>I think the point here is that plain text config files *are* the wrong language for the job.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brad Huffman</title>
		<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-60678</link>
		<dc:creator>Brad Huffman</dc:creator>
		<pubDate>Tue, 27 Feb 2007 16:10:58 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-60678</guid>
		<description>0. Documentation!

Why, O why is this one always left out.</description>
		<content:encoded><![CDATA[<p>0. Documentation!</p>
<p>Why, O why is this one always left out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hammer&#38;Nail</title>
		<link>http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-60672</link>
		<dc:creator>Hammer&#38;Nail</dc:creator>
		<pubDate>Tue, 27 Feb 2007 15:40:02 +0000</pubDate>
		<guid isPermaLink="false">http://cafe.elharo.com/xml/plain-text-config-files-are-confusing/#comment-60672</guid>
		<description>A simple configuration file moving to a not so simple configuration file over an application's life cycle is more likely a symptom of a design problem in the application. It is better to revisit the application design at that stage. Or put it other way, configuration file is a resource and not a kitchen sink junkyard for things which the programmer has not figured out where to fit.  Treating it as a resource is the solution.  

Also reading from the above responses, the argument for an XML based config file is going the way of "4 spaces vs. 2 spaces vs. tabs" argument!

Is Elliotte trying to pick our brains to see how an ideal configuration looks like? Here are some of my points:

1. Easily readable, understandable and "operatable". Think of the overworked IT operator or an overwhelmed user trying to modify the config file. 
2. Understand your target audience!
3. Minimalistic. Do not make it a kitchen sink!
4. Think building blocks.</description>
		<content:encoded><![CDATA[<p>A simple configuration file moving to a not so simple configuration file over an application&#8217;s life cycle is more likely a symptom of a design problem in the application. It is better to revisit the application design at that stage. Or put it other way, configuration file is a resource and not a kitchen sink junkyard for things which the programmer has not figured out where to fit.  Treating it as a resource is the solution.  </p>
<p>Also reading from the above responses, the argument for an XML based config file is going the way of &#8220;4 spaces vs. 2 spaces vs. tabs&#8221; argument!</p>
<p>Is Elliotte trying to pick our brains to see how an ideal configuration looks like? Here are some of my points:</p>
<p>1. Easily readable, understandable and &#8220;operatable&#8221;. Think of the overworked IT operator or an overwhelmed user trying to modify the config file.<br />
2. Understand your target audience!<br />
3. Minimalistic. Do not make it a kitchen sink!<br />
4. Think building blocks.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
