<?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: Least common denominator</title>
	<atom:link href="http://blog.amber.org/2005/09/27/least-common-denominator/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.amber.org/2005/09/27/least-common-denominator/</link>
	<description>Thoughts of a minor lunatic</description>
	<pubDate>Thu, 24 Jul 2008 08:53:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
		<item>
		<title>By: Balance On Rails : David Hansson e Opinionated Software</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-45792</link>
		<dc:creator>Balance On Rails : David Hansson e Opinionated Software</dc:creator>
		<pubDate>Tue, 05 Dec 2006 15:39:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-45792</guid>
		<description>[...] Christopher Petrilli repete um frequente mal-entendido sobre Active Record, o ORM de Rails, em Menor Denominador Comum. O raciocÃ­nio diz que o MySQL estÃ¡ nos segurando de tomar vantagem de funcionalidades mais avanÃ§adas dos bancos de dados disponÃ­veis no PostgreSQL, Oracle e outros. E que se pelo menos MySQL fosse mais esperto, tivesse mais funcionalidades, estarÃ­amos abranÃ§ando-as de braÃ§os abertos. Errado. [...]</description>
		<content:encoded><![CDATA[<p>[...] Christopher Petrilli repete um frequente mal-entendido sobre Active Record, o ORM de Rails, em Menor Denominador Comum. O raciocÃ­nio diz que o MySQL estÃ¡ nos segurando de tomar vantagem de funcionalidades mais avanÃ§adas dos bancos de dados disponÃ­veis no PostgreSQL, Oracle e outros. E que se pelo menos MySQL fosse mais esperto, tivesse mais funcionalidades, estarÃ­amos abranÃ§ando-as de braÃ§os abertos. Errado. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: petrilli</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-6066</link>
		<dc:creator>petrilli</dc:creator>
		<pubDate>Wed, 29 Mar 2006 16:36:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-6066</guid>
		<description>Actually MySQL still, in my experience, has all sorts of bizarre bogosity related to things it'll accept and silently do the wrong thing without warnings. That's just unforgivable.

Referential integrity, etc., can of course be over-used, and some people might argue it should never be used, but I see it as a last line of defense for data. There are simply certain values, certain behaviors, that are never acceptable. Ever. Also, much of what I do ends up being an integration database for various reasons outside my control, and therefore the DB is one of the few places to enforce data integrity.

If everything was a trivial PHP app, then the world would be different. But they're not, fortunately.</description>
		<content:encoded><![CDATA[<p>Actually MySQL still, in my experience, has all sorts of bizarre bogosity related to things it&#8217;ll accept and silently do the wrong thing without warnings. That&#8217;s just unforgivable.</p>
<p>Referential integrity, etc., can of course be over-used, and some people might argue it should never be used, but I see it as a last line of defense for data. There are simply certain values, certain behaviors, that are never acceptable. Ever. Also, much of what I do ends up being an integration database for various reasons outside my control, and therefore the DB is one of the few places to enforce data integrity.</p>
<p>If everything was a trivial PHP app, then the world would be different. But they&#8217;re not, fortunately.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kelvin Westlake</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-6065</link>
		<dc:creator>Kelvin Westlake</dc:creator>
		<pubDate>Wed, 29 Mar 2006 14:52:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-6065</guid>
		<description>MySQL was lacking in certain aspects until its more recent incarnation (perhaps still is) - But lets put the boot on the other foot, to many system have limitations due to the overkeen usage of referential integrity and stored proceedures. 

Unless theres multi-tier modelling reasons for this, processing and data validation should be performed within the top layer - burying this deep down makes them difficult to debug and more expensive to maintain.</description>
		<content:encoded><![CDATA[<p>MySQL was lacking in certain aspects until its more recent incarnation (perhaps still is) &#8211; But lets put the boot on the other foot, to many system have limitations due to the overkeen usage of referential integrity and stored proceedures. </p>
<p>Unless theres multi-tier modelling reasons for this, processing and data validation should be performed within the top layer &#8211; burying this deep down makes them difficult to debug and more expensive to maintain.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#187; Rails schema migrations : Pensieri di un lunatico minore</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-5412</link>
		<dc:creator>&#187; Rails schema migrations : Pensieri di un lunatico minore</dc:creator>
		<pubDate>Mon, 20 Feb 2006 05:06:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-5412</guid>
		<description>[...] 1 I suspect this is another latent sloppiness inherited from the MySQL brain-damage. MySQL, at least as late as 4.1, doesn&#8217;t really integrate transactions and DDL, and never will outside the InnoDB engine. This means you can&#8217;t actually have atomic schema migrations. Bad juju if you ask me. [...]</description>
		<content:encoded><![CDATA[<p>[...] 1 I suspect this is another latent sloppiness inherited from the MySQL brain-damage. MySQL, at least as late as 4.1, doesn&#8217;t really integrate transactions and DDL, and never will outside the InnoDB engine. This means you can&#8217;t actually have atomic schema migrations. Bad juju if you ask me. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cliff Wells</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-4961</link>
		<dc:creator>Cliff Wells</dc:creator>
		<pubDate>Sun, 18 Dec 2005 21:18:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-4961</guid>
		<description>This is also why Rails isn't as DRY as it would like to be.  As Robby Russell mentions, it's fairly easy to add support for foreign keys to your model, except that now you are defining your model in two places... definitely a case of repeating yourself.  I think there may be technical reasons for compromises, but to claim they aren't compromises (and even coin phrases to add legitimacy: i.e. "single layer of cleverness") borders on dishonesty.

My feeling on MySQL is much the same as many programmers feel about BASIC (or these days, PHP): it causes permanent brain-damage in otherwise apparently smart people.</description>
		<content:encoded><![CDATA[<p>This is also why Rails isn&#8217;t as DRY as it would like to be.  As Robby Russell mentions, it&#8217;s fairly easy to add support for foreign keys to your model, except that now you are defining your model in two places&#8230; definitely a case of repeating yourself.  I think there may be technical reasons for compromises, but to claim they aren&#8217;t compromises (and even coin phrases to add legitimacy: i.e. &#8220;single layer of cleverness&#8221;) borders on dishonesty.</p>
<p>My feeling on MySQL is much the same as many programmers feel about BASIC (or these days, PHP): it causes permanent brain-damage in otherwise apparently smart people.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Perrin Harkins</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-4002</link>
		<dc:creator>Perrin Harkins</dc:creator>
		<pubDate>Thu, 06 Oct 2005 18:34:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-4002</guid>
		<description>MySQL has had transactions and foreign key constraints for several years.  Extracting primary key and referential integrity data through DESCRIBE TABLE commands works fine, and the ORM framework I use supports this and uses this data.  No naming convention requred.  It's fair to complain that this data isn't available in a standard SQL way (unless you use 5.0), but saying it isn't available at all is incorrect.</description>
		<content:encoded><![CDATA[<p>MySQL has had transactions and foreign key constraints for several years.  Extracting primary key and referential integrity data through DESCRIBE TABLE commands works fine, and the ORM framework I use supports this and uses this data.  No naming convention requred.  It&#8217;s fair to complain that this data isn&#8217;t available in a standard SQL way (unless you use 5.0), but saying it isn&#8217;t available at all is incorrect.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Louis</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3463</link>
		<dc:creator>Louis</dc:creator>
		<pubDate>Sat, 01 Oct 2005 20:07:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3463</guid>
		<description>MySQL is perfectly free for use if you want to make money with what you're doing - the difference is you cannot *include* MySQL or use the embedded MySQL database (I believe), if you aren't writing GPL software.

It's a bit of a myth that you have to pay MySQL AB to use their database in "for profit" software. Instead, you can pay MySQL AB for their support, or to distribute it easily with your product. That's all. So for developers, and many competent administrators, it's entirely free to develop and deploy with. And that's why it's popular.

MySQL AB used to be very open about the differences between the GPL and Non-GPL licenses for their product, but since the new website redesign focused at enterprises, they've started to hide, or not talk about this.

Instead, they've rebranded the two, to make businesses want to purchase the "Network Edition" instead of using the "Community Edition", see: http://www.mysql.com/network/compare.html

Which is fine. It just means that if you want something for free, you've got it, and if you want to pay for something with the assurance of support and all the extra perks, you can do that too. It fits Rails / "Get Real" perfectly - you can start simple, and "scale out" as you depend on it more.</description>
		<content:encoded><![CDATA[<p>MySQL is perfectly free for use if you want to make money with what you&#8217;re doing &#8211; the difference is you cannot <strong>include</strong> MySQL or use the embedded MySQL database (I believe), if you aren&#8217;t writing GPL software.</p>
<p>It&#8217;s a bit of a myth that you have to pay MySQL AB to use their database in &#8220;for profit&#8221; software. Instead, you can pay MySQL AB for their support, or to distribute it easily with your product. That&#8217;s all. So for developers, and many competent administrators, it&#8217;s entirely free to develop and deploy with. And that&#8217;s why it&#8217;s popular.</p>
<p>MySQL AB used to be very open about the differences between the GPL and Non-GPL licenses for their product, but since the new website redesign focused at enterprises, they&#8217;ve started to hide, or not talk about this.</p>
<p>Instead, they&#8217;ve rebranded the two, to make businesses want to purchase the &#8220;Network Edition&#8221; instead of using the &#8220;Community Edition&#8221;, see: <a href="http://www.mysql.com/network/compare.html" rel="nofollow">http://www.mysql.com/network/compare.html</a></p>
<p>Which is fine. It just means that if you want something for free, you&#8217;ve got it, and if you want to pay for something with the assurance of support and all the extra perks, you can do that too. It fits Rails / &#8220;Get Real&#8221; perfectly &#8211; you can start simple, and &#8220;scale out&#8221; as you depend on it more.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: petrilli</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3350</link>
		<dc:creator>petrilli</dc:creator>
		<pubDate>Fri, 30 Sep 2005 12:33:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3350</guid>
		<description>MySQL is free if you obsess over the GPL and ignore everything else. It's not free if you're in anyway "for profit."  PostgreSQL, which is comparable to Oracle for most applications (80% or more) in capabilities is licensed under the BSD license, which is basically "do whatever."</description>
		<content:encoded><![CDATA[<p>MySQL is free if you obsess over the GPL and ignore everything else. It&#8217;s not free if you&#8217;re in anyway &#8220;for profit.&#8221;  PostgreSQL, which is comparable to Oracle for most applications (80% or more) in capabilities is licensed under the BSD license, which is basically &#8220;do whatever.&#8221; </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ECC</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3322</link>
		<dc:creator>ECC</dc:creator>
		<pubDate>Fri, 30 Sep 2005 04:58:09 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3322</guid>
		<description>Forgot to add:  There used to be a section in the MySQL docs (can't find the link), justifying their lack of transactions, and saying something like:

"Data can *always* get lost.  You *always* need backups, even if you were to have transactions.  Even the famed Oracle is reputed to have lost data..."

...whew</description>
		<content:encoded><![CDATA[<p>Forgot to add:  There used to be a section in the MySQL docs (can&#8217;t find the link), justifying their lack of transactions, and saying something like:</p>
<p>&#8220;Data can <strong>always</strong> get lost.  You <strong>always</strong> need backups, even if you were to have transactions.  Even the famed Oracle is reputed to have lost data&#8230;&#8221;</p>
<p>...whew</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ECC</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3319</link>
		<dc:creator>ECC</dc:creator>
		<pubDate>Fri, 30 Sep 2005 04:37:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3319</guid>
		<description>Glad you said it in print!

Most people don't realize how feeble MySQL really is.

And let's not kid ourselves: the reason it's become popular is because it's fast, easy, and most of all *free*!  Which is more than we can say of any "real" databse (though I have no experience with Postgres).  What DB do you recommend that meets those requirements?</description>
		<content:encoded><![CDATA[<p>Glad you said it in print!</p>
<p>Most people don&#8217;t realize how feeble MySQL really is.</p>
<p>And let&#8217;s not kid ourselves: the reason it&#8217;s become popular is because it&#8217;s fast, easy, and most of all <strong>free</strong>!  Which is more than we can say of any &#8220;real&#8221; databse (though I have no experience with Postgres).  What DB do you recommend that meets those requirements?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: petrilli</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3134</link>
		<dc:creator>petrilli</dc:creator>
		<pubDate>Wed, 28 Sep 2005 02:35:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3134</guid>
		<description>It's definately one of those "one of these things is not like the other" situations. Rather than dumbing the software down for a poor excuse for a database (really more of a structured file), you should write for the real target, and if you feel some over-arching need for portability, something that's severely over-rated around databases, then you should fill in where other's lack.

The truth of the matter is that portability between most full-featured databses is pretty simple, and mostly a matter of syntax, and sometimes more work on stored proceedures.  When MySQL is injected, you have to rip out the data-integrity component that should be in the store, and put it in the applications. That's a piss-poor decision.</description>
		<content:encoded><![CDATA[<p>It&#8217;s definately one of those &#8220;one of these things is not like the other&#8221; situations. Rather than dumbing the software down for a poor excuse for a database (really more of a structured file), you should write for the real target, and if you feel some over-arching need for portability, something that&#8217;s severely over-rated around databases, then you should fill in where other&#8217;s lack.</p>
<p>The truth of the matter is that portability between most full-featured databses is pretty simple, and mostly a matter of syntax, and sometimes more work on stored proceedures.  When MySQL is injected, you have to rip out the data-integrity component that should be in the store, and put it in the applications. That&#8217;s a piss-poor decision.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles McKnight</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3113</link>
		<dc:creator>Charles McKnight</dc:creator>
		<pubDate>Tue, 27 Sep 2005 20:44:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3113</guid>
		<description>Opinion:

[Insert database/application/etc. name] is an excellent choice for a certain subset of problems. However, it is a poor choice for other problems. 

The adage about a carpenter knowing his tools and having a large number of tools to draw on is the most appropriate, yet least used approach when constructing applications/systems/etc.

The specialist, per Mills, is the individual who continually focuses on an ever-decreasing scope approaching epsilon until at some point the specialist knows nothing about anything.</description>
		<content:encoded><![CDATA[<p>Opinion:</p>
<p>[Insert database/application/etc. name] is an excellent choice for a certain subset of problems. However, it is a poor choice for other problems. </p>
<p>The adage about a carpenter knowing his tools and having a large number of tools to draw on is the most appropriate, yet least used approach when constructing applications/systems/etc.</p>
<p>The specialist, per Mills, is the individual who continually focuses on an ever-decreasing scope approaching epsilon until at some point the specialist knows nothing about anything.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: petrilli</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3108</link>
		<dc:creator>petrilli</dc:creator>
		<pubDate>Tue, 27 Sep 2005 19:40:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3108</guid>
		<description>It is one thing to talk about "new applications" that are written with Rails, but when we you discuss retrofitting things onto an existing schema that is not modifyable, Rails starts to have some massive issues.  Now, I accept that it's not within it's real "sweet spot," and that's fine, but it would do a _lot better_ were it to actually use the data dictionary to find these things out.</description>
		<content:encoded><![CDATA[<p>It is one thing to talk about &#8220;new applications&#8221; that are written with Rails, but when we you discuss retrofitting things onto an existing schema that is not modifyable, Rails starts to have some massive issues.  Now, I accept that it&#8217;s not within it&#8217;s real &#8220;sweet spot,&#8221; and that&#8217;s fine, but it would do a <em>lot better</em> were it to actually use the data dictionary to find these things out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: petrilli</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3100</link>
		<dc:creator>petrilli</dc:creator>
		<pubDate>Tue, 27 Sep 2005 18:42:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3100</guid>
		<description>I didn't write this shit. :-)  Although honestly, Wordpress seems to be more flakey than most, and I really need to have Textdrive migrate my backend to Postgresql.  They just make it harder than it should be.

I miss running my own stuff.</description>
		<content:encoded><![CDATA[<p>I didn&#8217;t write this shit. :-)  Although honestly, Wordpress seems to be more flakey than most, and I really need to have Textdrive migrate my backend to Postgresql.  They just make it harder than it should be.</p>
<p>I miss running my own stuff.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Grossberg</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3095</link>
		<dc:creator>Joe Grossberg</dc:creator>
		<pubDate>Tue, 27 Sep 2005 17:29:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3095</guid>
		<description>P.S. The first time I tried to submit this, I got:


WordPress database error: [Illegal mix of collations (utf8_bin,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation '=']
SELECT comment_ID FROM wp_comments WHERE comment_post_ID = '1789' AND ( comment_author = 'Joe Grossberg' OR comment_author_email = 'josephgrossberg@hotmail.com' ) AND comment_content = '\"This isnâ€™t rocket science, and itâ€™s been well-documented since the 1960s. Why must we keep making the same mistakes over, and over, and over, and pretending theyâ€™re â€œnewâ€?.\" Ha! You should take a look at ColdFusion one day (e.g. no writing your own functions until version _5_, and they pitched it as \"UDF\" -- user-defined functions).' LIMIT 1

I guess you're in a glass house on this one.</description>
		<content:encoded><![CDATA[<p>P.S. The first time I tried to submit this, I got:</p>
<p>WordPress database error: [Illegal mix of collations (utf8_bin,IMPLICIT) and (latin1_swedish_ci,COERCIBLE) for operation &#8217;=&#8217;]<br />
SELECT comment_ID FROM wp_comments WHERE comment_post_ID = &#8216;1789&#8217; AND ( comment_author = &#8216;Joe Grossberg&#8217; OR comment_author_email = &#8216;josephgrossberg@hotmail.com&#8217; ) AND comment_content = &#8217;\&#8221;This isnâ€™t rocket science, and itâ€™s been well-documented since the 1960s. Why must we keep making the same mistakes over, and over, and over, and pretending theyâ€™re â€œnewâ€?.\&#8221; Ha! You should take a look at ColdFusion one day (e.g. no writing your own functions until version <em>5</em>, and they pitched it as \&#8221;UDF\&#8221;&#8212;user-defined functions).&#8217; LIMIT 1</p>
<p>I guess you&#8217;re in a glass house on this one.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe Grossberg</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3093</link>
		<dc:creator>Joe Grossberg</dc:creator>
		<pubDate>Tue, 27 Sep 2005 17:27:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3093</guid>
		<description>"This isnâ€™t rocket science, and itâ€™s been well-documented since the 1960s. Why must we keep making the same mistakes over, and over, and over, and pretending theyâ€™re â€œnewâ€?."

Ha! You should take a look at ColdFusion one day (e.g. no writing your own functions until version _5_, and they pitched it as "UDF" -- user-defined functions).</description>
		<content:encoded><![CDATA[<p>&#8220;This isnâ€™t rocket science, and itâ€™s been well-documented since the 1960s. Why must we keep making the same mistakes over, and over, and over, and pretending theyâ€™re â€œnewâ€?.&#8221;</p>
<p>Ha! You should take a look at ColdFusion one day (e.g. no writing your own functions until version <em>5</em>, and they pitched it as &#8220;UDF&#8221;&#8212;user-defined functions).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ned Flanders</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3092</link>
		<dc:creator>Ned Flanders</dc:creator>
		<pubDate>Tue, 27 Sep 2005 17:27:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3092</guid>
		<description>How dare you say something negative about Rails!  Fear the wrath of DHH!</description>
		<content:encoded><![CDATA[<p>How dare you say something negative about Rails!  Fear the wrath of DHH!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zach Beane</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3086</link>
		<dc:creator>Zach Beane</dc:creator>
		<pubDate>Tue, 27 Sep 2005 15:53:29 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3086</guid>
		<description>I mostly agree about MySQL, but I think there are some people using it who are extremely competent, aware of its flaws, and maximizing its strengths. Brad's presentation on the LiveJournal architecture, for example, gave me the impression that the way they use MySQL is more "fast data store we understand comprehensively" than "standards-compliant relational database".</description>
		<content:encoded><![CDATA[<p>I mostly agree about MySQL, but I think there are some people using it who are extremely competent, aware of its flaws, and maximizing its strengths. Brad&#8217;s presentation on the LiveJournal architecture, for example, gave me the impression that the way they use MySQL is more &#8220;fast data store we understand comprehensively&#8221; than &#8220;standards-compliant relational database&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robby Russell</title>
		<link>http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3084</link>
		<dc:creator>Robby Russell</dc:creator>
		<pubDate>Tue, 27 Sep 2005 15:44:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.amber.org/2005/09/27/least-common-denominator/#comment-3084</guid>
		<description>"In Rails, the system can introspect into the database to find all sorts of thingsâ€”no need to define column names, etc. This is wonderfully useful. Unfortunately, it imposes a naming convention to find the primary key (it must be called id or you have to be explicit), you have to tell it how to find other tables, etc. "


I am a HUGE PostgreSQL fan. This obstacle is overcome with one line of code in your model. If you choose to use id as your primary key, you don't have to add that one line. It's a convenience... and I think many of the people who bring this up don't realize that it's not a big deal. :-)</description>
		<content:encoded><![CDATA[<p>&#8220;In Rails, the system can introspect into the database to find all sorts of thingsâ€”no need to define column names, etc. This is wonderfully useful. Unfortunately, it imposes a naming convention to find the primary key (it must be called id or you have to be explicit), you have to tell it how to find other tables, etc. &#8221;</p>
<p>I am a HUGE PostgreSQL fan. This obstacle is overcome with one line of code in your model. If you choose to use id as your primary key, you don&#8217;t have to add that one line. It&#8217;s a convenience&#8230; and I think many of the people who bring this up don&#8217;t realize that it&#8217;s not a big deal. :-)</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.409 seconds -->
