<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Data Constellation: Comments</title>
    <link>http://dataconstellation.com/blog</link>
    <language>en</language>
    <webMaster>cjh@dataconstellation.com (Clifford Heath)</webMaster>
    <copyright>Copyright 2007-2008</copyright>
    <ttl>60</ttl>
    <pubDate>Fri, 31 Oct 2008 23:09:16 GMT</pubDate>
    <description>Agile Information Management and Design</description>
    <item>
      <title>Wow I googled something about...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c25</link>
      <pubDate>Fri, 31 Oct 2008 23:09:16 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c25</link>
      <author>Hmmm</author>
      <description>&lt;p&gt;Wow I googled something about Rails dev log and this article came up. That sucks.&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>Chui: Absolutely. Any time you...</title>
      <link>http://dataconstellation.com/blog/older/2008/4/23/there_are_no_attributes/#c24</link>
      <pubDate>Thu, 15 May 2008 23:31:48 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2008/4/23/there_are_no_attributes/#c24</link>
      <author>Clifford Heath</author>
      <description>&lt;p&gt;Chui: Absolutely. Any time you capture more semantic information about your business domain, there&amp;#8217;s the chance for increased automation, whether that be through scaffolding or merely validations.&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2008/4/23/there_are_no_attributes/"&gt;There are no attributes&lt;/a&gt;</description>
    </item>
    <item>
      <title>I&#8217;d read about ORM a...</title>
      <link>http://dataconstellation.com/blog/older/2008/4/23/there_are_no_attributes/#c23</link>
      <pubDate>Wed, 30 Apr 2008 06:26:08 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2008/4/23/there_are_no_attributes/#c23</link>
      <author>Chui Tey</author>
      <description>&lt;p&gt;I&amp;#8217;d read about ORM a few years ago, and I&amp;#8217;m intrigued at CQL&amp;#8217;s possibilities. There is a great deal of impedance mismatch between master-detail type data and SQL, which tend to think of these type of relationships as a JOIN rather than something more intimate.&lt;/p&gt;

&lt;p&gt;I also wonder if the additional metadata in ORM makes it possible for RAD tools to have more built-in smarts. e.g. validation messages. &lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2008/4/23/there_are_no_attributes/"&gt;There are no attributes&lt;/a&gt;</description>
    </item>
    <item>
      <title>Great talk at the Ruby...</title>
      <link>http://dataconstellation.com/blog/older/2008/4/23/there_are_no_attributes/#c22</link>
      <pubDate>Fri, 25 Apr 2008 10:12:26 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2008/4/23/there_are_no_attributes/#c22</link>
      <author>Clinton Forbes</author>
      <description>&lt;p&gt;Great talk at the Ruby group tonight, Cliff.  I wish I had read this blog post beforehand.  It was a pity you were cut short - I&amp;#8217;m sure ten more minutes away from the bar wouldn&amp;#8217;t have killed everyone.&lt;/p&gt;

&lt;p&gt;Anyway, I will have to order that doorstop book on information modeling now!&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2008/4/23/there_are_no_attributes/"&gt;There are no attributes&lt;/a&gt;</description>
    </item>
    <item>
      <title>You: &#8220;Things like not adding...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c21</link>
      <pubDate>Thu, 10 Jan 2008 22:09:59 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c21</link>
      <author>David Sidlinger</author>
      <description>&lt;p&gt;You:&lt;/p&gt;

&lt;p&gt;&amp;#8220;Things like not adding indexes until they&#8217;re needed, and not enforcing FKs&#8230; these things are definitely part of Rails culture and recommended in the Agile Web Development book.&amp;#8221;&lt;/p&gt;

&lt;p&gt;Agile Web Development with Rails, 2nd Edition:&lt;/p&gt;

&lt;p&gt;&amp;#8220;It&#8217;s worth noting that this migration doesn&#8217;t de&#64257;ne any foreign key constraints. The intertable relationships are set up simply because the developer will populate the columns product&lt;em&gt;id and order&lt;/em&gt;id with key values from the products and orders tables. You can also choose to establish these constraints in your migrations (and I personally recommend that you do), but the foreign key support in Rails doesn&#8217;t need them.&amp;#8221;&lt;/p&gt;

&lt;p&gt;&amp;#8220;Migrations can (and probably should) de&#64257;ne indices for tables.&amp;#8221;&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>Excellent Article. I believe it...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c20</link>
      <pubDate>Wed, 09 Jan 2008 19:52:04 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c20</link>
      <author>phillc</author>
      <description>&lt;p&gt;Excellent Article.&lt;/p&gt;

&lt;p&gt;I believe it would have been even better if you linked to articles which discussed such things, especially #8 (since it slightly confused me)&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>It seems like the majority...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c19</link>
      <pubDate>Sun, 06 Jan 2008 13:30:54 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c19</link>
      <author>David Jeffries</author>
      <description>&lt;p&gt;It seems like the majority of rails developers are in the code and fix mentality which is exactly the problem I have with rails: it supports bad behavior.&lt;/p&gt;

&lt;p&gt;I remember watching a podcast interviewing the founder of Twitter (which is written in rails).  This was a couple weeks after twitter came out,  and when asked about the scalability of rails he merely replied, &amp;#8220;we have an aggressive caching policy.&amp;#8221;  I&amp;#8217;m sure everyone has heard of the uptime problems with Twitter since the release&amp;#8230;&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>I&#8217;d definitely had to agree...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c18</link>
      <pubDate>Sun, 06 Jan 2008 07:45:33 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c18</link>
      <author>Shanti Braford</author>
      <description>&lt;p&gt;I&amp;#8217;d definitely had to agree with many of these.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s clear, though, that you come from a very DB-centric worldview.&lt;/p&gt;

&lt;p&gt;Linking to a tutorial on Foreign Keys in MySQL 5.0, for example, might be a nice touch.&lt;/p&gt;

&lt;p&gt;Re: indexes - if there&amp;#8217;s a 99% chance you&amp;#8217;ll need them, then of course you might as well add them when creating the app.  I&amp;#8217;ve taken to doing this.  The thin line between overoptimizing can be a tricky one though&amp;#8230; =)&lt;/p&gt;

&lt;p&gt;Most of the rest are, as you said, &amp;#8220;people problems&amp;#8221; endemic of many teams, not just those using Rails.&lt;/p&gt;

&lt;p&gt;All in all, even taking over a poorly written Rails app is still much less painful (to me) than when I used to do the same with PHP, ASP, etc.&lt;/p&gt;

&lt;p&gt;(Circa 2003 php/asp/etc - Model View Controller??? HAHAHAHAH good one&amp;#8230; ;))&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>The author&#8217;s point is exactly...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c17</link>
      <pubDate>Sun, 06 Jan 2008 07:19:46 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c17</link>
      <author>Fernando Correia</author>
      <description>&lt;p&gt;The author&amp;#8217;s point is exactly that: some people find these concerns boring, then sites melt down.&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>Wow! So much boring bullshit....</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c16</link>
      <pubDate>Tue, 20 Nov 2007 13:54:50 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c16</link>
      <author>Jeff</author>
      <description>&lt;p&gt;Wow! So much boring bullshit. A more proper title would be &amp;#8220;How to ruin a blog post&amp;#8221;.&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>Hey, c&#8217;mon people! Laziness and...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c15</link>
      <pubDate>Wed, 31 Oct 2007 07:33:31 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c15</link>
      <author>Lucas H&#250;ngaro</author>
      <description>&lt;p&gt;Hey, c&amp;#8217;mon people! Laziness and unprofessional attitude isn&amp;#8217;t Rails specific, but Clifford made a valid point when saying that some parts of Rails culture ends up encouraging some mistakes.
For instance: foreign keys, indexes and some checks and defaults are really a good measure, even more when your database will be shared with other applications/services. Some very important people of the Rails world are against this measures and encourages people to be against too. That&amp;#8217;s the point, it&amp;#8217;s not about Rails itself.&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>Ah, I thought so. Seems...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c14</link>
      <pubDate>Wed, 31 Oct 2007 01:14:16 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c14</link>
      <author>Ryan Allen</author>
      <description>&lt;p&gt;Ah, I thought so. Seems like a lot of nasty duplication doesn&amp;#8217;t it? :( But I guess that&amp;#8217;s the price you pay for a really robust system.&lt;/p&gt;

&lt;p&gt;Unless you like, generate code from say, fact based modelling, right? :)&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve read somewhere you can write triggers and whatnot in PostgreSQL in Ruby, I wonder what that is like!&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>You can do a lot...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c13</link>
      <pubDate>Sat, 27 Oct 2007 22:26:00 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c13</link>
      <author>Clifford Heath</author>
      <description>&lt;p&gt;You can do a lot with CHECK constraints and triggers, but the big problem with business rule enforcement is that the same rule needs to be enforced at the UI, logic and data tiers, or in Rails, the browser JS, the controller, the model, and the database - and synchronizing all the enforcement code with the original rule requires great discipline.&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>What about enforcement of business...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c12</link>
      <pubDate>Sat, 27 Oct 2007 02:53:23 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c12</link>
      <author>Ryan Allen</author>
      <description>&lt;p&gt;What about enforcement of business logic that is more complicated than fk or unique constraints?&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>I like Rails, but there...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c11</link>
      <pubDate>Thu, 25 Oct 2007 15:15:29 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c11</link>
      <author>eeby</author>
      <description>&lt;p&gt;I like Rails, but there are valid points in this article. In this community, you often see demos like &amp;#8220;watch as I build this blog platform in five minutes.&amp;#8221; I just saw such a demo last night at a Rails meetup. I think that&amp;#8217;s really the wrong message to send. It encourages laziness and ridiculous expectations, and it&amp;#8217;s annoying bragging.&lt;/p&gt;

&lt;p&gt;The cool thing about Rails though is that if you use it carefully, and the apply same care and precautions you always have to apply with any technology, it can save you a huge amount of time.&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>Clifford Comment above: Sentence #1:...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c10</link>
      <pubDate>Wed, 24 Oct 2007 16:44:43 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c10</link>
      <author>Eric</author>
      <description>&lt;p&gt;Clifford Comment above:&lt;/p&gt;

&lt;p&gt;Sentence #1:&lt;/p&gt;

&lt;p&gt;&amp;#8220;Sorry you thought I was complaining about Rails. I wasn&#8217;t, the problem is always people, of course.&amp;#8221;&lt;/p&gt;

&lt;p&gt;Sentence #2:&lt;/p&gt;

&lt;p&gt;&amp;#8220;My premise was that some facets of the Rails culture seem to me to engender bad practices.&amp;#8221;&lt;/p&gt;

&lt;p&gt;The Rest:&lt;/p&gt;

&lt;p&gt;&amp;#8220;Rails sucks&amp;#8221;&lt;/p&gt;

&lt;p&gt;You may want to edit sentence #1 to be more accurate:&lt;/p&gt;

&lt;p&gt;&amp;#8220;Sorry you thought I was complaining about Rails.  I was, the problem is rails, and the people around it.&amp;#8221;&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>Sorry you thought I was...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c9</link>
      <pubDate>Mon, 22 Oct 2007 22:08:13 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c9</link>
      <author>Clifford Heath</author>
      <description>&lt;p&gt;Sorry you thought I was complaining about Rails. I wasn&amp;#8217;t, the problem is always people, of course. My premise was that some facets of the Rails culture seem to me to engender bad practices. Things like not adding indexes until they&amp;#8217;re needed, and not enforcing FKs&amp;#8230; these things are definitely part of Rails culture and recommended in the Agile Web Development book. And then there&amp;#8217;s still the problem that the Rails log doesn&amp;#8217;t usually include enough to reconstruct an event stream&amp;#8230; and model.Transaction not reliably doing what transactions should&amp;#8230; and&amp;#8230; still think there&amp;#8217;s no content?&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>This is totally wrong. It...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c8</link>
      <pubDate>Sun, 21 Oct 2007 11:55:00 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c8</link>
      <author>Dejan Dimic</author>
      <description>&lt;p&gt;This is totally wrong. 
It had nothing specific with rails projects.&lt;/p&gt;

&lt;p&gt;You can always have unprofessional and lazy developers and / or management. Developers and managers can be neglecting about their work no meter what programming language, framework or technology they use.&lt;/p&gt;

&lt;p&gt;Why should lack of general specification, database design, referential integrity, indexes, unit tests, general testing, performance measurements, exception handling or any other thing you mentioned be specific about Rails but not to Php, ASP, Java or &#8230;&lt;/p&gt;

&lt;p&gt;For the same reason most the desktop application project will collapse. And to be truthful any kind of project in any domain will collapse if everybody involved do not perform as professionally and competent as they should be.&lt;/p&gt;

&lt;p&gt;Beside the bombastic title, emptiness.&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>Frank, I spent half the...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c7</link>
      <pubDate>Sat, 20 Oct 2007 20:27:13 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c7</link>
      <author>Clifford Heath</author>
      <description>&lt;p&gt;Frank, I spent half the 80&amp;#8217;s and all the 90&amp;#8217;s developing high-productivity development environment products, and I couldn&amp;#8217;t get over how utterly perverse our customers were. I mean, these people were running nuclear power stations, top-ten banks, even major US stock exchanges, yet the more we offered simple and straight-forward ways to do things, the harder they tried to find an utterly wrong way to do everything. Sigh. Lead a horse to water&amp;#8230;&lt;/p&gt;

&lt;p&gt;Anyhow, thanks for the boost. I have a whole article series coming entitled &amp;#8220;Out of Vietnam&amp;#8221; that I hope you&amp;#8217;ll find valuable, so please subscribe (either at feedburner or here) and keep reading!&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
    <item>
      <title>&#8220;Of course, most of the...</title>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c6</link>
      <pubDate>Sat, 20 Oct 2007 16:28:01 GMT</pubDate>
      <link>http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/#c6</link>
      <author>EmmanuelOga</author>
      <description>&lt;p&gt;&amp;#8220;Of course, most of the Rails users are hardly professional programmers anyways.&amp;#8221;&lt;/p&gt;

&lt;p&gt;Mmmm that statement seems pretty tough to deny. After all, you cite solid, well proved statistics of scientific rigour&amp;#8230;&lt;/p&gt;&lt;p&gt;Posted to: &lt;a href="http://dataconstellation.com/blog/older/2007/10/18/how_to_ruin_a_rails/"&gt;How to ruin a Rails project&lt;/a&gt;</description>
    </item>
  </channel>
</rss>
