<?xml version="1.0" ?>
<?xml-stylesheet href="atom.css" type="text/css"?>
<!-- Perhaps "context" should be replaced with "view"? [Reinout]-->
<atom:feed xmlns="http://www.w3.org/2005/Atom"
           xmlns:atom="http://www.w3.org/2005/Atom"
           xmlns:dc="http://purl.org/dc/elements/1.1/"
           xml:base="http://community.grokthis.net"
           xml:lang="en">

  <div xmlns="http://www.w3.org/1999/xhtml">
    <a href="http://www.atomenabled.org/feedvalidator/check.cgi?url=http://community.grokthis.net/blog">
      <img title="Validate my Atom feed" width="88"
           height="31"
           src="http://www.atomenabled.org/feedvalidator/images/valid-atom.png"
           alt="[Valid Atom]" border="0px"/>
    </a>
    <p>
      <span>
        This is an Atom formatted XML site feed. It is intended to be viewed in
        a Newsreader or syndicated to another site. Please visit 
      </span>
      <a href="http://www.atomenabled.org/">Atom Enabled</a>
      <span>
        for more info.
      </span>
    </p>
  </div>

  <atom:title type="html">Blog</atom:title>
  <atom:subtitle></atom:subtitle>

  <atom:updated>2008-10-12T19:53:58-04:00</atom:updated>

  <atom:link href="http://community.grokthis.net/blog"
             rel="alternate" type="text/html"/>

  

  <atom:id>ee1733721e8762c659614641096ca0d4</atom:id>

  <atom:generator uri="http://plone.org/products/fatsyndication/" version="0.1">fatsyndication</atom:generator>

  

    <atom:entry>

      <atom:title>Erlang!</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/10/12/erlang">
        http://plone.org/
      </atom:link>

      <atom:id>2f506d7b72343b20480b7e8b72626d2a</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;I was in Barnes &amp;amp; Noble and was looking hard to find a book about something I didn't already master (or at least hadn't already bought a book about)... and I found it!&lt;/p&gt;
&lt;p&gt;Programming Erlang.  As a pseudo-mathematician, I must say -- wow.  I love languages like Lisp, and now Erlang, that really get down, dirty, and relatively close to the theory.  Loops?  Forget them!  Variable variables? Forget them!  Recursion?  Embrace it!  Anonymous functions and Lambda definitions?  Embrace them!  Sounds strange?  Sure, but its refreshing, but do take my opinion with a grain of salt -- I used to program in TCL ;-)&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Needless to say, I'm looking now at web development and hosting solutions around Erlang... Yaws, ErlyWeb, and Erlang Web.  Most likely, we'll be supporting these in short order.&lt;br /&gt;&lt;/p&gt;

          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-10-12T19:34:04-04:00</atom:published>

      <atom:updated>2008-10-12T19:53:58-04:00</atom:updated>


    </atom:entry>

  
  

    <atom:entry>

      <atom:title>Upgrading your Rails version</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/10/08/upgrading-your-rails-version">
        http://plone.org/
      </atom:link>

      <atom:id>9bb7b4e8f287e5f9fc5e6d954af4e78c</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;By default, we do not upgrade customer's Rails applications to newer releases of Rails.  We have noticed that a large number of customers haven't been upgrading, and just want to make sure that customers know how to do so!&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Simply edit your application's config/environment.rb as such to specify the version you would like to upgrade to:&lt;br /&gt;-RAILS_GEM_VERSION = '1.1.6'&lt;/p&gt;
&lt;p&gt;+RAILS_GEM_VERSION = '2.1.1'&lt;br /&gt;&lt;br /&gt;Then, run 'rake rails:update' from with in your application's directory.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notable upgrades for you would be:&lt;br /&gt; 1.2.0&lt;br /&gt; 1.2.6&lt;br /&gt; 2.0.0&lt;br /&gt; 2.0.4&lt;br /&gt; 2.1.0&lt;br /&gt; 2.1.1&lt;br /&gt;&lt;br /&gt;Other versions can be available as well, but these are the earliest and latest point-releases available within each major release at the time of this writing.&lt;br /&gt;&lt;/p&gt;

          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-10-08T14:39:57-04:00</atom:published>

      <atom:updated>2008-10-08T14:39:57-04:00</atom:updated>

      
        <atom:category term="howto"/>
      
      
        <atom:category term="rails"/>
      
      
        <atom:category term="software"/>
      

    </atom:entry>

  
  

    <atom:entry>

      <atom:title>Django 1.0 'admin' interface</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/10/08/django-1-0-admin-interface">
        http://plone.org/
      </atom:link>

      <atom:id>1d52243a75af6bdc5777c0ac39204461</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;We've had a few customers asking about why their Django admin interface is no longer working, since the upgrade to Django 1.0.&lt;/p&gt;
&lt;p&gt;Changes in Django 1.0 required a couple changes to the url.py file in order to access the admin view.  Here is an example of how to modify the file:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;blockquote&gt;# Add following lines for 1.0 compat, to top of file&lt;br /&gt;from django.conf.urls.defaults import *&lt;br /&gt;from django.contrib import admin&lt;br /&gt;import os&lt;br /&gt;admin.autodiscover()&lt;br /&gt;&lt;br /&gt;# and then under urlpatterns, eg:&lt;br /&gt;urlpatterns = patterns('',&lt;br /&gt;    # Remove old entry, eg:&lt;br /&gt;    # (r'^admin/', include('django.contrib.admin.urls')),&lt;br /&gt;    # Add new entry, eg:&lt;br /&gt;     ('^admin/(.*)', admin.site.root),&lt;br /&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-10-08T14:35:09-04:00</atom:published>

      <atom:updated>2008-10-08T14:35:09-04:00</atom:updated>

      
        <atom:category term="django"/>
      
      
        <atom:category term="upgrade"/>
      
      
        <atom:category term="software"/>
      

    </atom:entry>

  
  

    <atom:entry>

      <atom:title>Python update plan</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/10/08/python-update-plan">
        http://plone.org/
      </atom:link>

      <atom:id>6e87b591b213b382e5b61a2d1b3f7fef</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;Python 2.6 and 3.0 will soon be released, and it is important that this transition is as smooth as possible.  To facilitate that, we ask that customers please make sure that all of their scripts (including their Zope startup script) refer to a specific python version, a la: "/usr/bin/python2.4"&lt;/p&gt;
&lt;p&gt;For compatability, we've left Python 2.4 as the default on our servers.  Soon, python 2.5 or even 2.6 will be the default.  We do warn that if customers do not specify a specific Python executable, they may automatically be switched to newer Python releases as they become available.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Our support department will gladly assist customers prior to, and during the upgrade &amp;amp; migration period.&lt;br /&gt;&lt;/p&gt;

          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-10-08T14:33:03-04:00</atom:published>

      <atom:updated>2008-10-08T14:33:03-04:00</atom:updated>


    </atom:entry>

  
  

    <atom:entry>

      <atom:title>GrokThis Manager 2.0 Released!</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/08/26/grokthis-manager-2-0-released">
        http://plone.org/
      </atom:link>

      <atom:id>162db7a580f19f4cb49dc9d72c01c0e3</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;We have finally released GrokThis Manager 2.0 for our Advanced and Traditional hosting customers!  It has been a very long time coming, and in fact it has been ready for some time.  The significant change is that it is now web-based.   The console version ('gt_manager') remains active and functional.&lt;/p&gt;
&lt;p&gt;To access, login at:&lt;/p&gt;
&lt;p&gt; &lt;a href="https://secure.grokthis.net/manager/"&gt;https://secure.grokthis.net/manager/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is &lt;b&gt;NOT&lt;/b&gt; for VPS hosting, although we plan to integrate Xen VPS management at some point.&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Tested in IE 7 and Firefox 3.  Should work in Firefox 2.0, probably not in IE6...&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-08-26T14:22:01-04:00</atom:published>

      <atom:updated>2008-08-26T14:22:01-04:00</atom:updated>


    </atom:entry>

  
  

    <atom:entry>

      <atom:title>Handling the IP transition via DNS</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/08/14/handling-the-ip-transition-via-dns">
        http://plone.org/
      </atom:link>

      <atom:id>fe18da6ab61af500d617ba7d18c2ccb5</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;With our upcoming IP address changes, we are having a number of customers asking about how to keep their site functional when the old IPs drop off.&lt;/p&gt;
&lt;p&gt;The simple answer: DNS TTL.&lt;/p&gt;
&lt;p&gt;Before the upgrade, simply lower the TTL on your DNS records to something low (say 15 minutes, or 900 seconds).  After the upgrade, restore the TTL to its previous setting (say, 28800 or 8 hours).  Doing this, users should be directed to the wrong IP for no more than 15 minutes.&lt;/p&gt;
&lt;p&gt;We will attempt to implement this for records on our nameservers on the behalf of customers.&lt;br /&gt;&lt;/p&gt;

          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-08-14T23:12:08-04:00</atom:published>

      <atom:updated>2008-08-14T23:12:08-04:00</atom:updated>


    </atom:entry>

  
  

    <atom:entry>

      <atom:title>DNS Vulnerability</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/07/25/dns-vulnerability">
        http://plone.org/
      </atom:link>

      <atom:id>df6b4c7aa48b034ffac2aa03053fe357</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;While we have already patched our DNS servers for the widely discussed vulnerability; we are concerned that we may have a number of customers that have not patched their servers.&lt;/p&gt;
&lt;p&gt;We do advise that all customers update to the latest available version of Bind9, Djbdns, or whatever other DNS server that they may be running.  This can normally be done via yum or apt; When doing so, please make sure that the security repositories are enabled in your package manager.&lt;br /&gt;&lt;/p&gt;

          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-07-25T13:39:30-04:00</atom:published>

      <atom:updated>2008-07-25T13:39:30-04:00</atom:updated>


    </atom:entry>

  
  

    <atom:entry>

      <atom:title>SSH security notice</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/05/13/ssh-security-notice">
        http://plone.org/
      </atom:link>

      <atom:id>e614a1ca8f16c7aee569982039abc4ea</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          Please be aware that due to a recent SSH vulnerability in Debian &amp;amp; Ubuntu, we have replaced all of our SSH host keys, which may prompt a warning/error when logging into our systems.&lt;br /&gt;&lt;br /&gt;We highly advise that customers using a Debian or Ubuntu desktop system create new SSH keys.  VPS customers update their OS and replace their OpenSSH host keys.  We are in the process of scanning our customer's accounts for insecure keys and will be removing and/or replacing these shortly.&lt;br /&gt;&lt;br /&gt;While we understand these actions can cause an inconvenience for many customers, we would rather deal with such inconveniences than with compromised/hacked accounts.  We hope that you can understand.&lt;br /&gt;&lt;br /&gt;Thank you,&lt;br /&gt;&lt;br /&gt;Eric Windisch&lt;br /&gt;GrokThis.net&lt;br /&gt;
          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-05-13T17:37:09-04:00</atom:published>

      <atom:updated>2008-06-05T09:54:24-04:00</atom:updated>

      
        <atom:category term="security"/>
      

    </atom:entry>

  
  

    <atom:entry>

      <atom:title>Recent reimaging failures</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/04/28/recent-reimaging-failures">
        http://plone.org/
      </atom:link>

      <atom:id>b7eee4dcb954db0fe3034db8aa0199ea</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;Recently, some users of vps008 have noticed that they cannot complete a reinstall/reimage of Debian or Ubuntu.  We resolved the initial complaints by a reboot.   Unfortunately, on a VPS server with many customers on it, it can take over an hour to complete a reboot cycle.  We hoped that this would not be a recurring issue, but could not be certain of it.&lt;/p&gt;
&lt;p&gt;Now, we are noticing that this behavior is, in fact, recurring.  Shortly after a reboot, for the following days or weeks, the server will operate normally, but will eventually begin to hang running the configuration for console-setup during a debootstrap installation.&lt;/p&gt;
&lt;p&gt;At this point, most customers will eventually close their SSH sessions, and try again to reimage their VPS.  When reimaging again, they will get an error that their filesystem is already mounted.   This happens because the previous installation never completed.&lt;/p&gt;
&lt;p&gt;When our support is contacted, we can stop the prior installation, but without a (time-consuming, service affecting) reboot we cannot provide much further immediate assistance.  We can then schedule to reboot the server at a more appropriate time when the service interruption would be less significant to the many other customers that are sharing that host.&lt;/p&gt;
&lt;p&gt;We are currently investigating alternative solutions for running the reimages that would not trigger, or be affected by, this bug.  Additionally, we are attempting to obtain some assistance from the Xen and Linux developers.&lt;br /&gt;&lt;/p&gt;

          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-04-28T14:55:22-04:00</atom:published>

      <atom:updated>2008-04-28T14:55:22-04:00</atom:updated>

      
        <atom:category term="xen"/>
      
      
        <atom:category term="virtualization"/>
      
      
        <atom:category term="vps"/>
      

    </atom:entry>

  
  

    <atom:entry>

      <atom:title>Alert: GCC 4.3.0 - Avoid! (for now)</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/03/19/alert-gcc-4-3-0-avoid-for-now">
        http://plone.org/
      </atom:link>

      <atom:id>548cf4bafb98be04be259d939564b032</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;This is a quick notice that we are asking that customers hold off from upgrading GCC to version 4.3 at this time.  A problem exists in all current Linux releases (from all vendors) which renders GCC 4.3.0 and higher incompatible.  A kernel update will be provided shortly to resolve this issue.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;UPDATE&lt;/b&gt;: all should now be okay in 
&lt;b&gt;&lt;a href="http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.26.5.bz2"&gt;2.6.26.5&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;

          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-03-19T02:12:42-04:00</atom:published>

      <atom:updated>2008-10-08T15:05:21-04:00</atom:updated>

      
        <atom:category term="vps"/>
      
      
        <atom:category term="software"/>
      

    </atom:entry>

  
  

    <atom:entry>

      <atom:title>Xen IRQ Limit</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/02/27/xen-irq-limit">
        http://plone.org/
      </atom:link>

      <atom:id>3f5cc061b498e78a4ba091c6c5ca9ba3</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          Today, we reached a milestone.... we reached the virtual IRQ limit on VPS008.  Unfortunately, this will require that we schedule maintenace in order to issue a kernel upgrade, as the IRQ limit is a hardcoded value in the kernel.  I'm sorry to all affected customers, especially considering the recent security-related kernel upgrades made only a couple weeks ago.   Customer kernels will NOT be upgraded again at this point, it should hopefully be a quick reboot of our host machine, and back to business!&lt;br /&gt; 
          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-02-27T15:36:38-05:00</atom:published>

      <atom:updated>2008-03-04T17:46:06-05:00</atom:updated>

      
        <atom:category term="xen"/>
      
      
        <atom:category term="virtualization"/>
      

    </atom:entry>

  
  

    <atom:entry>

      <atom:title>The new billing system</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/02/24/the-new-billing-system">
        http://plone.org/
      </atom:link>

      <atom:id>10129e62cb1ae95212af7382c8e6c99f</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;GrokThis.net customers will be soon receiving emails with login information to our new online billing system, based on &lt;a href="http://ubersmith.com"&gt;Ubersmith&lt;/a&gt;.  You will be able to login to the billing website, add business contacts, update your credit card, view invoices and payment history, etc...&lt;/p&gt;
&lt;p&gt;Unfortunately, this will be YET ANOTHER username and password for you to store.  Sorry, you're just gonna have to have another user/pass combo.  However, we do hope that you enjoy the new features and new-fangled web management.&lt;/p&gt;
&lt;p&gt;Hopefully, we will be able to get better web-based hosting-account management tools online soon.  GT_Manager 2.0 is already written, we just gotta get it deployed...&lt;br /&gt;&lt;/p&gt;

          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-02-24T18:44:55-05:00</atom:published>

      <atom:updated>2008-02-24T18:44:55-05:00</atom:updated>


    </atom:entry>

  
  

    <atom:entry>

      <atom:title>Mason AJAX</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/02/24/mason-ajax">
        http://plone.org/
      </atom:link>

      <atom:id>84d64a9e8e8d7809c1bcba3524184e3e</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          We've been updating our webpages to become more "2.0".  The GrokThis.net webpage now has  keyword-based navigation, and the VPS Village pages are entirely AJAX-enabled.

Quite simply, we're using Scriptalicious and Prototype for most of it.  There is very little new backend code.  Its quite simply a matter of removing the templates from the code.  Out backend layout something like:
&lt;pre&gt;comp_root/&lt;br /&gt;|&lt;br /&gt;|- autohandler - site template&lt;br /&gt;|- subdir/ - subdirectory&lt;br /&gt;    |&lt;br /&gt;    |- autohandler&lt;br /&gt;    |- index.html&lt;br /&gt;    |- index_plain.html&lt;br /&gt;&lt;/pre&gt;
Assume comp_root/autohandler contains:
&lt;pre&gt; &amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&lt;br /&gt;  &amp;lt;h1&amp;gt;GrokThis&amp;lt;/h1&amp;gt;&lt;br /&gt;  &amp;lt;% $m-&amp;gt;call_next %&amp;gt;&lt;br /&gt;  &amp;lt;div id="footer"&amp;gt;Copyright notice&amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;
Then comp_root/subdir/autohandler contains:
&lt;pre&gt; &amp;lt;h2&amp;gt;Sub-Directory content&amp;lt;/h2&amp;gt;&lt;br /&gt; &amp;lt;div id="content"&amp;gt;&lt;br /&gt;  &amp;lt;% $m-&amp;gt;call_next %&amp;gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/pre&gt;
Now, if comp_root/subdir/index.html contains:
&lt;pre&gt; &amp;lt;h1&amp;gt;hello world&amp;lt;/h1&amp;gt;&lt;br /&gt;&lt;/pre&gt;
Loading http://example.net/subdir/ will render:
&lt;pre&gt;
&lt;h1&gt;GrokThis&lt;/h1&gt;
&lt;h2&gt;Sub-Directory content&lt;/h2&gt;
&lt;div id="content"&gt;
&lt;p&gt;hello world&lt;/p&gt;
&lt;/div&gt;
&lt;div id="footer"&gt;Copyright notice&lt;/div&gt;
&lt;/pre&gt;
Now, here is the AJAX rub... we create index_plain.html which contains:
&lt;pre&gt; &amp;lt;!-- Might want to add %ARGS here, or modify arguments as needed --&amp;gt;&lt;br /&gt; &amp;lt;&amp;amp; index.html &amp;amp;&amp;gt;&lt;br /&gt; &amp;lt;%flags&amp;gt;&lt;br /&gt; inherit=&amp;gt;undef&lt;br /&gt; &amp;lt;/%flags&amp;gt;&lt;br /&gt;&lt;/pre&gt;
When you load http://example.net/subdir/index_plain.html, you will see simply:
&lt;pre&gt;
&lt;p&gt;hello world&lt;/p&gt;
&lt;/pre&gt;
We will now copy the subdir directory to subdir2:
 cp -R subdir subdir2

Then, modify subdir2/index.html:
&lt;pre&gt; &amp;lt;p&amp;gt;this is the subdir2 directory!&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;/pre&gt;
All one needs to do then, is modify comp_root/autohandler:
&lt;pre&gt; &amp;lt;html&amp;gt;&lt;br /&gt; &amp;lt;head&amp;gt;&amp;lt;script language="javascript" src="prototype.js"&amp;gt;&amp;lt;/script&amp;gt;&amp;lt;/head&amp;gt;&lt;br /&gt; &amp;lt;body&amp;gt;&lt;br /&gt; &amp;lt;script&amp;gt;&lt;br /&gt; function update(contentvar, dirvar) {&lt;br /&gt;  new Ajax.Updater(contentvar, dirvar, { method: 'get' });&lt;br /&gt; }&lt;br /&gt; &amp;lt;/script&amp;gt;&lt;br /&gt;  &amp;lt;h1&amp;gt;GrokThis&amp;lt;/h1&amp;gt;&lt;br /&gt;  &amp;lt;a href="/subdir" onclick="update('content','/subdir1'); return false;"&amp;gt;&lt;br /&gt;   Sub-Dir #1&lt;br /&gt;  &amp;lt;/a&amp;gt;&lt;br /&gt;  &amp;lt;a href="/subdir1" onclick="update('content','/subdir1'); return false;"&amp;gt;&lt;br /&gt;   Sub-Dir #2&lt;br /&gt;  &amp;lt;/a&amp;gt;&lt;br /&gt;  &amp;lt;% $m-&amp;gt;call_next %&amp;gt;&lt;br /&gt;  &amp;lt;div id="footer"&amp;gt;Copyright notice&amp;lt;/div&amp;gt;&lt;br /&gt; &amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/pre&gt;
The content div will now update automatically, and it will fail-over for older browsers!  Mason's idea of components really works well with the AJAX concept and there are all kinds of things you can do with it, and in much prettier ways than this.  This example is meant to be short and easy... and very important, simple for retrofitting an existing site.  Have fun, and take care!
          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-02-24T16:40:54-05:00</atom:published>

      <atom:updated>2008-02-24T18:16:11-05:00</atom:updated>

      
        <atom:category term="ajax"/>
      
      
        <atom:category term="howto"/>
      
      
        <atom:category term="mason"/>
      

    </atom:entry>

  
  

    <atom:entry>

      <atom:title>Squeezing into a 64MB VPS</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/02/24/squeezing-into-a-64mb-vps">
        http://plone.org/
      </atom:link>

      <atom:id>a5b8f74d8f290eb365c5e1c0bcf750ba</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          One of our customers has posted an interesting article on his blog, &lt;a href="http://www.azein.com/blog/2007/10/06/stretching-64mb-as-much-as-you-can/"&gt;Making the most out of a 64MB VPS&lt;/a&gt;.  He explains a few of the difficulties that can be encountered in a limited memory environment, shows how to decrease your memory usage, view performance statistics, and more...

My biggest suggestion, personally, however... if you're going for an account with only 64 or 96MB of ram, you will see performance advantages from going with a 32-bit OS.  The only reason we don't make it default, is that a mix-arch Xen installation was sort of experimental until very recently.
          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-02-24T16:03:17-05:00</atom:published>

      <atom:updated>2008-02-24T16:03:17-05:00</atom:updated>


    </atom:entry>

  
  

    <atom:entry>

      <atom:title>Setting up Django via SVN</atom:title>

      <atom:link rel="alternate" type="text/html"
                 href="http://community.grokthis.net/blog/archive/2008/02/07/setting-up-django-via-svn">
        http://plone.org/
      </atom:link>

      <atom:id>9a54fcafb2ad5a2eb4c1dd57feff7b03</atom:id>
      

      <!-- This body below should really be xhtml instead of
      semi-encoded possibly unescaped strange stuff -->
      <atom:content type="html"
                    xml:base="http://community.grokthis.net"
                    xml:lang="en-US" xml:space="preserve">
          <![CDATA[
          
&lt;p&gt;By default, at GrokThis.net, we provide customers a stable release of Django.  This makes it easier for us to support, but doesn't always provide customers the cutting-edge that they need.  To this end, we also support running the latest SVN releases of Django.&lt;/p&gt;
&lt;br /&gt;I have created a new knowledgebase article for this, &lt;a href="https://tickets.grokthis.net/RTFM/Article/Display.html?id=31"&gt;#31&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The initial contents of that article are as follows, please note that to see the latest instructions, see the &lt;a href="https://tickets.grokthis.net/RTFM/Article/Display.html?id=31"&gt;knowledgebase article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;To checkout and "install" SVN Django

&lt;/b&gt;&lt;br /&gt;
&lt;blockquote&gt;mkdir ~/svn&lt;br /&gt;
&lt;p&gt;
cd ~/svn&lt;br /&gt;
svn co &lt;a href="http://code.djangoproject.com/svn/django/trunk/"&gt;http://code.djangoproject.com/svn/django/trunk/&lt;/a&gt;&lt;br /&gt;
ln -s ~/svn/trunk/django/ ~/lib/python/django&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;b&gt;The following will create a new application&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;cd ~/lib/python&lt;/p&gt;
rm -rf myapp&lt;br /&gt;
django/bin/django-admin.py startproject myapp&lt;/blockquote&gt;
&lt;h2&gt;&lt;br /&gt;&lt;/h2&gt;
&lt;br /&gt;
          ]]>
      </atom:content>

      <atom:author>
        <atom:name>Eric Windisch</atom:name>
      </atom:author>

      <atom:published>2008-02-07T13:17:28-05:00</atom:published>

      <atom:updated>2008-02-07T13:17:28-05:00</atom:updated>


    </atom:entry>

  

</atom:feed>
