<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Another modest example of how Wordpress is total rubbish</title>
	<atom:link href="http://clubtroppo.com.au/2008/11/16/another-modest-example-of-how-wordpress-is-total-rubbish/feed/" rel="self" type="application/rss+xml" />
	<link>http://clubtroppo.com.au/2008/11/16/another-modest-example-of-how-wordpress-is-total-rubbish/</link>
	<description></description>
	<lastBuildDate>Sat, 20 Mar 2010 04:26:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: JM</title>
		<link>http://clubtroppo.com.au/2008/11/16/another-modest-example-of-how-wordpress-is-total-rubbish/#comment-332174</link>
		<dc:creator>JM</dc:creator>
		<pubDate>Tue, 18 Nov 2008 10:59:46 +0000</pubDate>
		<guid isPermaLink="false">http://clubtroppo.com.au/?p=6432#comment-332174</guid>
		<description>&quot;suggests that the system has been over-engineered.&quot;

Not really.   There are two things at work here:

1.) the internet email addressing standard
2.) the use of regular expressions to implement the standard.

Second first.   regex&#039;s (as fondly known) are complex and arcane even for simple things.   Basically they are a tiny programming language, but one that lacks of lot of basic facilities - loops and selection - that otherwise have to be simulated.

In short, if you have anything more than moderately complex, regex&#039;s are &lt;b&gt;not&lt;/b&gt; the most understandable implementation and should be avoided unless you really, really need the performance.

As to the internet email addressing standard.   Sendmail - which is the mail server that pretty much established the standard - was developed at a time when there was a great deal of uncertainty about which way the addressing standard would evolve.   At the time X.400 (an OSI standard) was all the rage, but it is just about backwards from what we know and love today (but you can see remnants of it in Active Directory/LDAP) and was in competition with the looser standards that evolved in small Unix environments.

As a result, Sendmail is extremely flexible and tolerant of how email addresses are formed and can be configured to handle just about anything.

The result was that a formulation of the email address standard ended up incorporating a lot of unnecessary complexity largely facilitated by the Sendmail implementation that attempted (and unfortunately succeeded) to allow any arbitrary format you wanted.

So short answer: 

   complex problem + impoverished implementation &quot;language&quot; = WTF is that???

Hence the long regex Jacques has posted. 

But .... meh.   What&#039;s done is done.</description>
		<content:encoded><![CDATA[<p>&#8220;suggests that the system has been over-engineered.&#8221;</p>
<p>Not really.   There are two things at work here:</p>
<p>1.) the internet email addressing standard<br />
2.) the use of regular expressions to implement the standard.</p>
<p>Second first.   regex&#8217;s (as fondly known) are complex and arcane even for simple things.   Basically they are a tiny programming language, but one that lacks of lot of basic facilities &#8211; loops and selection &#8211; that otherwise have to be simulated.</p>
<p>In short, if you have anything more than moderately complex, regex&#8217;s are <b>not</b> the most understandable implementation and should be avoided unless you really, really need the performance.</p>
<p>As to the internet email addressing standard.   Sendmail &#8211; which is the mail server that pretty much established the standard &#8211; was developed at a time when there was a great deal of uncertainty about which way the addressing standard would evolve.   At the time X.400 (an OSI standard) was all the rage, but it is just about backwards from what we know and love today (but you can see remnants of it in Active Directory/LDAP) and was in competition with the looser standards that evolved in small Unix environments.</p>
<p>As a result, Sendmail is extremely flexible and tolerant of how email addresses are formed and can be configured to handle just about anything.</p>
<p>The result was that a formulation of the email address standard ended up incorporating a lot of unnecessary complexity largely facilitated by the Sendmail implementation that attempted (and unfortunately succeeded) to allow any arbitrary format you wanted.</p>
<p>So short answer: </p>
<p>   complex problem + impoverished implementation &#8220;language&#8221; = WTF is that???</p>
<p>Hence the long regex Jacques has posted. </p>
<p>But &#8230;. meh.   What&#8217;s done is done.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Smiley</title>
		<link>http://clubtroppo.com.au/2008/11/16/another-modest-example-of-how-wordpress-is-total-rubbish/#comment-331806</link>
		<dc:creator>Smiley</dc:creator>
		<pubDate>Mon, 17 Nov 2008 14:16:05 +0000</pubDate>
		<guid isPermaLink="false">http://clubtroppo.com.au/?p=6432#comment-331806</guid>
		<description>&lt;blockquote&gt;which is subtle and complex&lt;/blockquote&gt;
What ever happened to the KISS principle?  It&#039;s been a little while since I&#039;ve used regular expressions, but aren&#039;t all those \r \n and \t place holders for carriage returns, new lines and horizontal tabs.  The complexity is insane.

The fact that &lt;blockquote&gt;this regular expression was generated programmatically&lt;/blockquote&gt; suggests that the system has been over-engineered.</description>
		<content:encoded><![CDATA[<blockquote><p>which is subtle and complex</p></blockquote>
<p>What ever happened to the KISS principle?  It&#8217;s been a little while since I&#8217;ve used regular expressions, but aren&#8217;t all those \r \n and \t place holders for carriage returns, new lines and horizontal tabs.  The complexity is insane.</p>
<p>The fact that<br />
<blockquote>this regular expression was generated programmatically</p></blockquote>
<p> suggests that the system has been over-engineered.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: conrad</title>
		<link>http://clubtroppo.com.au/2008/11/16/another-modest-example-of-how-wordpress-is-total-rubbish/#comment-331704</link>
		<dc:creator>conrad</dc:creator>
		<pubDate>Mon, 17 Nov 2008 08:44:37 +0000</pubDate>
		<guid isPermaLink="false">http://clubtroppo.com.au/?p=6432#comment-331704</guid>
		<description>I think some APL programmers would be impressed by some of that code.</description>
		<content:encoded><![CDATA[<p>I think some APL programmers would be impressed by some of that code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tel_</title>
		<link>http://clubtroppo.com.au/2008/11/16/another-modest-example-of-how-wordpress-is-total-rubbish/#comment-331702</link>
		<dc:creator>Tel_</dc:creator>
		<pubDate>Mon, 17 Nov 2008 08:01:19 +0000</pubDate>
		<guid isPermaLink="false">http://clubtroppo.com.au/?p=6432#comment-331702</guid>
		<description>Someone asking for the ire of ire :

    http://www.regular-expressions.info/email.html

&lt;blockquote&gt;Another trade-off is that my regex only allows English letters, digits and a few special symbols. The main reason is that I don&#039;t trust all my email software to be able to handle much else. Even though John.O&#039;Hara@theoharas.com is a syntactically valid email address, there&#039;s a risk that some software will misinterpret the apostrophe as a delimiting quote. E.g. blindly inserting this email address into a SQL will cause it to fail if strings are delimited with single quotes. And of course, it&#039;s been many years already that domain names can include non-English characters. Most software and even domain name registrars, however, still stick to the 37 characters they&#039;re used to.
&lt;/blockquote&gt;

He has a point though, does Mail::RFC822::Address handle the full UTF-8 DNS options? Should we test Chinese email addresses inside a Chinese domain? Full language support does substantially increase the complexity of the software. Only my opinion but ASCII was one of the main reason English-speaking nations got a huge headstart in computing education over the Asian nations (and personally, I&#039;m glad to keep that edge as long as possible).</description>
		<content:encoded><![CDATA[<p>Someone asking for the ire of ire :</p>
<p>    <a href="http://www.regular-expressions.info/email.html" rel="nofollow">http://www.regular-expressions.info/email.html</a></p>
<blockquote><p>Another trade-off is that my regex only allows English letters, digits and a few special symbols. The main reason is that I don&#8217;t trust all my email software to be able to handle much else. Even though John.O&#8217;Hara@theoharas.com is a syntactically valid email address, there&#8217;s a risk that some software will misinterpret the apostrophe as a delimiting quote. E.g. blindly inserting this email address into a SQL will cause it to fail if strings are delimited with single quotes. And of course, it&#8217;s been many years already that domain names can include non-English characters. Most software and even domain name registrars, however, still stick to the 37 characters they&#8217;re used to.
</p></blockquote>
<p>He has a point though, does Mail::RFC822::Address handle the full UTF-8 DNS options? Should we test Chinese email addresses inside a Chinese domain? Full language support does substantially increase the complexity of the software. Only my opinion but ASCII was one of the main reason English-speaking nations got a huge headstart in computing education over the Asian nations (and personally, I&#8217;m glad to keep that edge as long as possible).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacques Chester</title>
		<link>http://clubtroppo.com.au/2008/11/16/another-modest-example-of-how-wordpress-is-total-rubbish/#comment-331666</link>
		<dc:creator>Jacques Chester</dc:creator>
		<pubDate>Mon, 17 Nov 2008 02:47:44 +0000</pubDate>
		<guid isPermaLink="false">http://clubtroppo.com.au/?p=6432#comment-331666</guid>
		<description>Tel;

That&#039;s another example. The Wordpress project have consistently refused to either use an existing PHP DBI-alike (there are several) and to roll their own. It&#039;s following the lifecycle I outlined.

Naturally every plugin is quite used to having total access to any and all database tables and can insert its data any old way it likes.</description>
		<content:encoded><![CDATA[<p>Tel;</p>
<p>That&#8217;s another example. The Wordpress project have consistently refused to either use an existing PHP DBI-alike (there are several) and to roll their own. It&#8217;s following the lifecycle I outlined.</p>
<p>Naturally every plugin is quite used to having total access to any and all database tables and can insert its data any old way it likes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tel_</title>
		<link>http://clubtroppo.com.au/2008/11/16/another-modest-example-of-how-wordpress-is-total-rubbish/#comment-331546</link>
		<dc:creator>Tel_</dc:creator>
		<pubDate>Sun, 16 Nov 2008 21:49:00 +0000</pubDate>
		<guid isPermaLink="false">http://clubtroppo.com.au/?p=6432#comment-331546</guid>
		<description>People are (somewhat rightly) nervous about the dreaded apostrophe because it is a common way to insert SQL code from an input box.

There are of course, well known workarounds for preventing SQL insertion. Perl&#039;s DBI/DBD system knows how to do it properly. I think it&#039;s probably a fair comment to say the overall Perl has much better designed libraries than PHP. Perl is also quite fast for WWW processing but only if you embed it into your webserver (e.g. use Apache&#039;s modperl).</description>
		<content:encoded><![CDATA[<p>People are (somewhat rightly) nervous about the dreaded apostrophe because it is a common way to insert SQL code from an input box.</p>
<p>There are of course, well known workarounds for preventing SQL insertion. Perl&#8217;s DBI/DBD system knows how to do it properly. I think it&#8217;s probably a fair comment to say the overall Perl has much better designed libraries than PHP. Perl is also quite fast for WWW processing but only if you embed it into your webserver (e.g. use Apache&#8217;s modperl).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
