<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://www.hiveminds.co.uk/feed.xsl" ?>
<?xml-stylesheet type="text/css" href="http://www.hiveminds.co.uk/feed.css" ?>
<rss version="2.0" xml:base="http://www.hiveminds.co.uk">
<channel>
 <title>Hiveminds Magazine - The Drupal Database Design is a Comedy of Errors - Comments</title>
 <link>http://www.hiveminds.co.uk/content/the-drupal-database-design-is-a-comedy-of-errors.html</link>
 <description>Comments for "The Drupal Database Design is a Comedy of Errors"</description>
 <language>en</language>
 <copyright>Hiveminds Magazine</copyright>
 <pubDate>Fri, 21 Nov 2008 05:51:25 -0800</pubDate>
 <lastBuildDate>Fri, 21 Nov 2008 05:39:20 -0800</lastBuildDate>
<item>
 <title>To Derek Webb: damn bro, you...</title>
 <link>http://www.hiveminds.co.uk/node/904#comment-1019</link>
 <description>To Derek Webb: damn bro, you make DB design and understanding as complicated as a rocket science.  Dude, it's not that complicated.  Anyone who had done DB rational design or algorithm in college/university, they can look at a database design and point out what's wrong and whats not.  Most design can go through simple algebra and normalization process.  Sometimes DB designers ignores them for flexibility and for other issues.  Not a smart move, but has been practiced by many big companies, and drupal is an example.  

I don't understand why someone with good Db designer has to look at the same db structure for few years to make comment.  you are hilarious.
</description>
 <pubDate>Mon, 25 Aug 2008 10:20:26 -0700</pubDate>
 <guid>http://www.hiveminds.co.uk/content/the-drupal-database-design-is-a-comedy-of-errors.html#comment-1019</guid>
 <category domain="/taxonomy/term/164/Developer Zone">Developer Zone</category>
 <category domain="/taxonomy/term/180/Drupal">Drupal</category>
</item>
<item>
 <title>Ok first of all the Drupal...</title>
 <link>http://www.hiveminds.co.uk/node/904#comment-679</link>
 <description>Ok first of all the Drupal DB system is complicated perhaps too much for you to understand. I have been a developer for almost 8 years now. I have been involved in projects ranging from web sites to AI and I can't say that I fully understand the Drupal DB abstraction layer and all of the things going on in the system. 

I don't think that you will either. Not after a WHOLE WEEK, perhaps TWO! Give me a break! Noooo, unless you just happen to be smarter than a whole room full of Albert Einsteins, I don't think you'll get it. Perhaps you never will. 

Drupal was chosen by MTV, IBM, Sony, Yahoo, and a plethora of other highly mission critical companies and organizations to help them accomplish very useful tasks. These guys may not even be able to fully understand the system. Surely not in a week or two... Duh...

You sir, have a fairly elevated idea of your cranial capacities if you think you are going to sit down and understand the Drupal DBasing system in no time flat. Would you understand the core principals of particle physics after a couple of weeks. No sir! Drupal has been developed by some of the brightest minds around and I am sure that they know what they are doing much better than you know what they are doing.

That said, I think that there is a great probability that there are some bugs. Almost no software is without some bugs or instances where a bug may become present. Semantic errors will sometimes crop up unless you are dealing with the most simplistic of programs.

At any rate, evaluate the system for a few years, then make such assessments. Not before.

Regards, Derek Webb</description>
 <pubDate>Sat, 26 May 2007 06:49:55 -0700</pubDate>
 <guid>http://www.hiveminds.co.uk/content/the-drupal-database-design-is-a-comedy-of-errors.html#comment-679</guid>
 <category domain="/taxonomy/term/164/Developer Zone">Developer Zone</category>
 <category domain="/taxonomy/term/180/Drupal">Drupal</category>
</item>
<item>
 <title>it isn't just Drupal, but...</title>
 <link>http://www.hiveminds.co.uk/node/904#comment-665</link>
 <description>it isn't just Drupal, but Drupal is certainly a good example of the opensource methodology gone wrong; I think you have it exactly right that they introduced these hacks because it was politically too much trouble to change the database, and because the original data model was never designed to be modular and flexible.  The same is true of the stylesheets, although much progress has been done on that front, and the theme engine.

However, the HARD question is not what is wrong with it -- you only need to use the debug-version of the db-query function to see that -- the really hard question is "How do we fix it?"

The answer to that question underlines another problem with the ad-hoc design so prevalent in software, both commercial and open source: Programmers never know when to quit.

At some point, you have to say enough is enough, close the chapter, learn from the past and move on.  But we don't.  We add another hack, add another feature, support another device, heaping mistake upon mistake, until the legacy weight of the thing sets up a programmer inertia, an increasing of the complexity mass into a black-hole from which no developers can escape.

What is most sad is that this was not the philosophy of the original computer scientists, it is a perversion brought about by the commercial interests who needed to be all things to all people under a single brand name in order to please shareholders.  Why, for example, did Drupal need to re-invent the forum when BB was already mature and proven code?  Why re-invent shopping carts, classifieds, calendars, spam filters?  Did they have some genius brilliant new revolutionary design that obsolesced all prior art in those domains?  No.

Instead they built half-assed almost-solutions and clumped them to the side of the project using cardboard and duct-tape.

But think about that ... if this is "open source software", if the purpose and meaning of open source is to foster a sharing and community construction then WHY NOT design a system to simply INTEGRATE solutions?  Why not work TOGETHER?  The Java-based JSR standard for portlets tried to do just that, yet did any of these "open source bazaar" programmers jump on board and blow our minds with it? No.

The foundational philosophy of computer science was "small tools, new combinations" exemplified in the *nix operating systems where small simple actions are done by small simple programs that can be infinitely reconnected and recombined to produce novel results.  Monolithic applications belonged in the  days of SAS-assembler and COBOL.  The modern computing paradigm was of cooperative components precisely because we observed how the monolithic application always exceeded the authors' capacity for complexity.  Always.

So back to Drupal, what can we do?  I recall Dykstra's advice to programmers: "Write two programs, throw the first one away."

</description>
 <pubDate>Sun, 13 May 2007 06:59:02 -0700</pubDate>
 <guid>http://www.hiveminds.co.uk/content/the-drupal-database-design-is-a-comedy-of-errors.html#comment-665</guid>
 <category domain="/taxonomy/term/164/Developer Zone">Developer Zone</category>
 <category domain="/taxonomy/term/180/Drupal">Drupal</category>
</item>
<item>
 <title>The Drupal Database Design is a Comedy of Errors</title>
 <link>http://www.hiveminds.co.uk/content/the-drupal-database-design-is-a-comedy-of-errors.html</link>
 <description>Okay, I have to say it. Drupal's database design is stupid! it sucks! it is a mess!
</description>
 <pubDate>Thu, 20 Apr 2006 23:51:38 -0700</pubDate>
 <category domain="/taxonomy/term/164/Developer Zone">Developer Zone</category>
 <category domain="/taxonomy/term/180/Drupal">Drupal</category>
</item>
</channel>
</rss>
