<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>SharedCopy</title>
    <link href="/stylesheets/shcp_base.css?1293841650" media="screen" rel="Stylesheet" type="text/css" />
    <link href="/stylesheets/shcp_errors.css?1293841650" media="screen" rel="Stylesheet" type="text/css" />
    <link href="/stylesheets/shcp_application.css?1293841650" media="screen" rel="Stylesheet" type="text/css" />
    <link href="/stylesheets/shcp_application2.css?1293841650" media="screen" rel="Stylesheet" type="text/css" />
    <link href="/images/favicon.png" rel="SharedCopy Icon" />

    <!--[if IE 6]>
    <style>        
        div.logo h2 {
            	behavior: url(/stylesheets/iepngfix.htc);
        }
    </style>    
    <![endif]-->
    
  </head>
<body class="inner community k_show detail-1">
  <div class="container"><!--Start section container -->
    <div class="r0"><!--Start section r0 -->
      <div class="search-box"><!--Start section search-box-->
              </div><!--End section search-box-->
      <div class="logo"><!--Start section logo -->
        <a href="/"><h2>Sharedcopy</h2></a>
        <h3><a href="/public/andthensome" style="color: #000;">Annotate &amp; Collaborate on <b style='text-decoration: underline;color:#c00;'>Any</b> Webpage</a></h3>
      </div><!--End section logo-->
      <div class="membernav"><!--Start section nav -->
  <ul>
    
      <li style="font-weight: bold; font-size: 1.1em; border: 0px;"><a href="/users/new">Sign-up an account</a></li>
      <li><a href="/users/login">Login</a></li>
    
  </ul>
</div><!--End section nav-->

      <div class="clear"><!--Start section clear -->                
      </div><!--End section clear-->
    </div><!--End section r0-->
    <div class="r1"><!--Start section r1 -->
    <ul>
        
          <li><a href="/">Home</a></li>
        
        <li><a href="/public/install">Install</a></li>
        <li><a href="/public/read-later">Read Later</a></li>
    </ul>
</div><!--End section r1-->

    <div class="r2">
      <div class="c0">
        
        
      </div>
      <div class="c1">
        <?xml version="1.0" encoding="UTF-8"?>
<feed xmlns:shcp="http://sharedcopy.com/namespaces/2007/copy_comments" xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Re: ZSFA -- Rails Is A Ghetto (2007-12-31)</title>
  <id>51489cec9386f7c13f69b3a58cd50b02</id>
  <shcp:copy_version>58</shcp:copy_version>
  <link href="http://www.zedshaw.com/rants/rails_is_a_ghetto.html"/>
  <updated>Fri, 25 Mar 2011 12:58:17 +0000</updated>
  <generator>sharedcopy.com</generator>
  <logo>http://sharedcopy.com/images/logo-sharedcopy.png?V0</logo>
  <author>
    <name>SharedCopy</name>
    <email>support@sharedcopy.com</email>
  </author>
  <category term="jan_08" scheme="http://sharedcopy.com/public/tags"/>
  <category term="zedshaw.com" scheme="http://sharedcopy.com/public/tags"/>
  <entry>
    <title>Wow, rails is a ghetto.  The little prick calls me a dick (and in private
chat said he&#8217;d find me at the next conference but of course never did),
then he  deletes the fucking configure file for the project!   Remember
he was working on  GNU  lightnin</title>
    <id>http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp6</id>
    <link type="text/html" href="http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp6" rel="alternate"/>
    <modified>Fri, 25 Mar 2011 12:58:17 +0000</modified>
    <content type="html">Wow, rails is a ghetto.  The little prick calls me a dick (and in private
chat said he&#8217;d find me at the next conference but of course never did),
then he  deletes the fucking configure file for the project!   Remember
he was working on  GNU  lightning when I started chatting, so this means
that it took an hour for everyone to figure out that his dumb fuck ass
deleted it. 


	 Why is this ghetto?  Any experienced developer knows that autoconf
configure files are a  PAIN IN THE ASS  to recreate.  They almost always
require special reconfigure calls, special m4 macros, or just time.  You
usually get t</content>
    <author>
      <name>"guest"</name>
    </author>
    <shcp:copy_version>31</shcp:copy_version>
    <shcp:is_quote>true</shcp:is_quote>
  </entry>
  <entry>
    <title>
    lol wut
    
  </title>
    <id>http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp5</id>
    <link type="text/html" href="http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp5" rel="alternate"/>
    <modified>Sat, 25 Sep 2010 01:09:06 +0000</modified>
    <content type="html">
    lol wut
    
  </content>
    <author>
      <name>"Your name"</name>
    </author>
    <shcp:copy_version>17</shcp:copy_version>
    <shcp:is_quote>false</shcp:is_quote>
  </entry>
  <entry>
    <title>
    mkujug
    
  </title>
    <id>http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp0</id>
    <link type="text/html" href="http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp0" rel="alternate"/>
    <modified>Sat, 01 May 2010 16:54:28 +0000</modified>
    <content type="html">
    mkujug
    
  </content>
    <author>
      <name>"Your name"</name>
    </author>
    <shcp:copy_version>15</shcp:copy_version>
    <shcp:is_quote>false</shcp:is_quote>
  </entry>
  <entry>
    <title>Great programmers
don&#8217;t defend stupid, they stamp it out and own up to their mistakes.</title>
    <id>http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp4</id>
    <link type="text/html" href="http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp4" rel="alternate"/>
    <modified>Wed, 02 Jan 2008 12:49:18 +0000</modified>
    <content type="html">Great programmers
don&#8217;t defend stupid, they stamp it out and own up to their mistakes.</content>
    <author>
      <name>choonkeat</name>
    </author>
    <shcp:copy_version>2</shcp:copy_version>
    <shcp:is_quote>true</shcp:is_quote>
  </entry>
  <entry>
    <title>That one little &#8217;;&#8217; was the cause of some serious pain</title>
    <id>http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp3</id>
    <link type="text/html" href="http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp3" rel="alternate"/>
    <modified>Wed, 02 Jan 2008 12:49:18 +0000</modified>
    <content type="html">That one little &#8217;;&#8217; was the cause of some serious pain</content>
    <author>
      <name>choonkeat</name>
    </author>
    <shcp:copy_version>2</shcp:copy_version>
    <shcp:is_quote>true</shcp:is_quote>
  </entry>
  <entry>
    <title>However,
the joke is that before Merb the Rails Core morons would scream up and down
you can&#8217;t make Rails thread safe.  Ezra however proved them all wrong by
just writing a better Rails than Rails and all thanks to Mongrel being so
easy to hack and </title>
    <id>http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp2</id>
    <link type="text/html" href="http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp2" rel="alternate"/>
    <modified>Wed, 02 Jan 2008 12:24:48 +0000</modified>
    <content type="html">However,
the joke is that before Merb the Rails Core morons would scream up and down
you can&#8217;t make Rails thread safe.  Ezra however proved them all wrong by
just writing a better Rails than Rails and all thanks to Mongrel being so
easy to hack and work with.</content>
    <author>
      <name>choonkeat</name>
    </author>
    <shcp:copy_version>1</shcp:copy_version>
    <shcp:is_quote>true</shcp:is_quote>
  </entry>
  <entry>
    <title>the  creator  of Rails in his flagship
products could not keep them running for  longer than 4 minutes on average.</title>
    <id>http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp1</id>
    <link type="text/html" href="http://www.zedshaw.com.sharedcopy.com/rants/51489cec9386f7c13f69b3a58cd50b02.html#shcp1" rel="alternate"/>
    <modified>Wed, 02 Jan 2008 12:24:48 +0000</modified>
    <content type="html">the  creator  of Rails in his flagship
products could not keep them running for  longer than 4 minutes on average.</content>
    <author>
      <name>choonkeat</name>
    </author>
    <shcp:copy_version>1</shcp:copy_version>
    <shcp:is_quote>true</shcp:is_quote>
  </entry>
</feed>

      </div>
      <div class="c2">
        
      </div>
      <div class="c0">
        
      </div>
    </div>
    <div class="r3"><!--Start section r3 -->
    <div class="c1"><!--Start section c1 -->
      
    </div><!--End section c1-->
    <div class="c2"><!--Start section c2 -->                
      
    </div><!--End section c2-->
    <div class="c3"><!--Start section c3 -->                
      
    </div><!--End section c3-->
    <div class="clear"><!--Start section clear -->                
      
    </div><!--End section clear-->
    <div class="footer"><!--Start section footer -->
        &copy; 2012
        | <a href="/">sharedcopy home</a>
        | <a href="/public/aboutus">about us</a>
        | <a href="/public/api">developers</a>
        | <a href="/public/formal">privacy policy</a>
        | <a href="/public/contact">contact</a>
    </div><!--End section footer-->
</div><!--End section r3-->

  <script src="/javascripts/SocialHistory.js?1293841650" type="text/javascript"></script>
  <script>
  (function() {
    var sl = SocialHistory();
    var visited = "#" + sl.visitedSites().join("|");
  	var date = new Date();
  	date.setTime(date.getTime()+(31536000000));
  	var expires = "; expires="+date.toGMTString();
  	document.cookie = "beenthere="+visited+expires+"; path=/";
  })();
  </script>


  </div><!--End section container-->

  <script>
  window.konsole = window.console;
  </script>
  <script type="text/javascript">
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
  document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  </script>
  <script type="text/javascript">
  try {
  var pageTracker = _gat._getTracker("UA-1695125-1");
  pageTracker._trackPageview();
  } catch(err) {}</script>

  <script>
  // See: http://gist.github.com/537133
  // standard script to track clicks on document elements, and send google analytic events
  // identifying which element was clicked (classname, id, href, src, csspath)
  // if "cssprefix_optional" is null, identify element as either using classname, id, href, src, csspath (order of preference)
  // if "pagename_optional" is null, identify "event category" as page filename
  (function($, pageTracker, cssselector, cssprefix_optional, pagename_optional) {
    if (! $) return;
    var baseurl = window.location.href.split(/[?#;]/)[0];
    var pathsegments = baseurl.split('/');
    var filename = unescape(pathsegments.pop() || pathsegments.pop());
    if (! pagename_optional) pagename_optional = filename;
    function log() { window.console && window.console.log && console.log(arguments); }
    function element2identifier(element, suffix) {
      var match = cssprefix_optional && (element.className || "").match('\\b' + cssprefix_optional + '-(\\w+)\\b');
      var identifier = (match && match[1]) || (element.id && ('#' + element.id));
      if (identifier)           return identifier + (suffix ? ' ' + suffix : '');                    // a) absolute reference
      if (element.className || (!suffix)) identifier = element.tagName + (element.className && '.' + element.className.replace(/\s+.*$/, '')) + ':nth(' + $(parent).prevAll().length + ')' + (suffix ? ' ' + suffix : '');
      if (suffix && identifier) return identifier;                                                   // b) stop at 2 levels deep
      if (element.parentNode)   return element2identifier(element.parentNode, identifier || suffix); // c) find another level
      return suffix;                                                                                 // d) dead end
    }
    var trackEvent =
      (pageTracker && function(category, action, opt_label, opt_value) { log(arguments); pageTracker._trackEvent(  category, action, opt_label, opt_value ); }) ||
      (window._gaq && function(category, action, opt_label, opt_value) { log(arguments); _gaq.push(['_trackEvent', category, action, opt_label, opt_value]); }) ||
      log;
    trackEvent(pagename_optional, 'pageview');
    $(cssselector).click(function() { trackEvent(pagename_optional, element2identifier(this).toLowerCase()); });
  })(window.jQuery, window.pageTracker, 'a,input,textarea,button', null,   "k-show");
  </script>
  <div id="busy" style="position: absolute; top: 0; left: 0; display: none; z-index: 9999;">
    <img src="/images/spinner.gif" /> Loading..
  </div>
</body>
</html>

