<?xml version="1.0"?>

<rss xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">

    <channel>

        <title>JCU Research Portal - Nigels Blog</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog</link>

        <description>Rants and hints</description>
        
        <generator>Plone 2.0</generator>

        <image>
          <url>http://plone.jcu.edu.au/research/logo.jpg</url>
	  <title>Nigels Blog</title>
	  <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog</link>
        </image>

    
    
    
    <item>
        <title>Plone email gateway proposal</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/10/15/plone-email-gateway-proposal</link>       
        <description>To encourage people to blog more with plone/quills what I think we need is an email gateway, to at least get the content to the site. I've tried to research what other blogging agents do, and it basically appears that a special email account per blog is set up. My proposal is as follows:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Set up a single blog email address for each plone instance (research, verg, dart, hpc,...)&lt;/li&gt;&lt;li&gt;Have each instance check its box at a given periodicy&lt;/li&gt;&lt;li&gt;Each user on the site can set preferences specifying the default blog and categories for email blogs&lt;/li&gt;&lt;li&gt;When an email arrives it is mapped, using the From address to a user, then to a blog and category. Overrides should be allowed, perhaps in the body?&lt;/li&gt;&lt;ol&gt;&lt;li&gt;If the message is not signed (PGP, S/MIME) then the blog sits in the drafts to be published. (normal quills interface) Send a reply email with a link to the drafts folder.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If the email is sigend it is published immediately.&lt;/li&gt;&lt;/ol&gt;&lt;li&gt;If it doesn't map to a user drop the email&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;</description>
        <dc:date>2006-10-15T17:36+00:00</dc:date>
        <dc:modified>2006-10-15 17:36:55</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>AutoJar - jar file combiner</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/10/09/autojar---jar-file-combiner</link>       
        <description>I thought I had blogged this eariler, but apparently not. &lt;br /&gt;&lt;a href="http://autojar.sourceforge.net/"&gt;AutoJar&lt;/a&gt; Combine all class files associated with an application into one jar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;</description>
        <dc:date>2006-10-09T20:10+00:00</dc:date>
        <dc:modified>2006-10-09 20:10:30</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>Cleaning up after cancelled AT, and still using the parent node</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/07/24/cleaning-up-after-cancelled-at-and-still-using-the-parent-node</link>       
        <description>&lt;font size="3"&gt;An AT BaseContent derived product does not clean up after itself if I go Add, then press Cancel. I'm left with an object "named" [...]. As explained &lt;a href="http://plone.org/documentation/tutorial/richdocument/controlling-creation"&gt;here&lt;/a&gt;, you need to register your type with the portal_factor so that cancellations are cleaned up. However, doing this means you can't use the &lt;b&gt;self.getParentNode()&lt;/b&gt; method until the object is saved. So defaults and the like will not work if they derive their values from the parent. There is a methid, &lt;/font&gt;&lt;b&gt;self.getFolderWhenPortalFactory()&lt;/b&gt;, which overcomes this problem. If you are not using the portal_factory then it will just return the parent. If you are using the portal_factory then it will return the folder where the object was created!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;</description>
        <dc:date>2006-07-24T20:41+00:00</dc:date>
        <dc:modified>2006-07-24 20:41:13</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>Archetype lifecycle</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/07/24/archetype-lifecycle</link>       
        <description>&lt;p&gt;This is from my traces which I ran against a BaseContent type, using &lt;a href="http://api.plone.org/Plone/2.1.1/public/Archetypes.BaseContent.BaseContent-class.html"&gt;these docs&lt;/a&gt; as a guide.&lt;/p&gt;

&lt;table class="[object Object]"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;User&lt;/th&gt;&lt;th&gt;Plone&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Create object&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;manage_afterAdd&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;(Edit page displayed)&lt;br /&gt;&lt;b&gt;Save&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;manage_beforeDelete&lt;br /&gt;manage_afterAdd&lt;br /&gt;at_post_create_script&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;(Saved item shown)&lt;br /&gt;Click&lt;b&gt; edit&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;(None)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;(Edit page displayed)&lt;br /&gt;&lt;b&gt;Save&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;at_post_edit_script&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;(Saved item shown)&lt;br /&gt;Click &lt;b&gt;delete&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;manage_beforeDelete&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;</description>
        <dc:date>2006-07-24T18:14+00:00</dc:date>
        <dc:modified>2006-07-24 18:34:52</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>Some Archetype notes</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/07/24/some-archetype-notes</link>       
        <description>&lt;div&gt;&lt;br /&gt;I've been playing around with writing my own plone product from scratch for a totally unrelated purpose, but in the midst of this I've made a few important starter hints for useing Archetypes.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;BaseFolder&lt;/b&gt; and &lt;b&gt;BaseContent&lt;/b&gt; are the types to inherit from&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To set defaults from the parent of a content, set the &lt;br /&gt;&lt;b&gt;default_method = 'get_default_value_x'&lt;br /&gt;def get_default_value_x(self):&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; self.getParentNode()...&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Or, overrider the &lt;b&gt;initializeArchetype&lt;/b&gt; method&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Set the &lt;b&gt;meta_type&lt;/b&gt; static variable for the object&lt;/li&gt;&lt;li&gt;To restrict types on a BaseFolder &lt;b&gt;allowed_content_types = ( 'TypeA', 'TypeB')&lt;/b&gt;&lt;/li&gt;&lt;li&gt;And on save is &lt;font size="3"&gt;&lt;b&gt;manage_afterEdit&lt;/b&gt; (I have not tested this myself yet)&lt;br /&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;/div&gt;</description>
        <dc:date>2006-07-24T00:12+00:00</dc:date>
        <dc:modified>2006-07-24 00:12:21</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>Debian hanging on boot at udev</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/07/17/debian-hanging-on-boot-at-udev</link>       
        <description>It seems it is libnss-ldap which is causing udev to hang. Removing it does fix the issue, but we still need ldap, so I don't know what the full answer is yet.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg206318.html"&gt;Bug#375215: libnss-ldap hangs udev at startup&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="poweredbyperformancing"&gt;powered by &lt;a href="http://performancing.com/firefox"&gt;performancing firefox&lt;/a&gt;&lt;/p&gt;</description>
        <dc:date>2006-07-17T15:28+00:00</dc:date>
        <dc:modified>2006-07-17 15:28:33</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>SSH timeout. Connection reset by peer</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/06/14/ssh-timeout-connection-reset-by-peer</link>       
        <description>If you get messages like : &lt;b&gt;Read from remote host xxx.xxx.xxx: Connection reset by peer&lt;/b&gt; in your idle SSH sessions, and you are behind a NAT, then it probably has to do with &lt;a href="http://www.openssh.com/faq.html#2.12"&gt;this.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To solve, put this line in your /etc/ssh/ssh_config:&lt;br /&gt;ServerAliveInterval 60&lt;br /&gt;&lt;br /&gt;</description>
        <dc:date>2006-06-14T22:32+00:00</dc:date>
        <dc:modified>2006-06-19 11:46:17</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>Optimize your ext2/ext3 filesystem</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/06/05/optimize-your-ext2ext3-filesystem</link>       
        <description>This is a repost from here: &lt;a href="http://blog.drinsama.de/erich/en/linux/2006060401-optimize-your-ext23-fs"&gt;http://blog.drinsama.de/erich/en/linux/2006060401-optimize-your-ext23-fs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;...use &lt;tt&gt;tune2fs -l /dev/hda5 | grep features&lt;/tt&gt; to get a list of your
filesystem features. If you have "&lt;tt&gt;dir_index&lt;/tt&gt;" in there then you're
all set. Ignore any "&lt;tt&gt;needs_recovery&lt;/tt&gt;" - that is good for mounted
filesystems (it just means "not cleanly unmounted")
&lt;p&gt;To add dir_index, do the following.
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Unmount the filesystem. If this is your primary filesystem, use a bootable
CD like Knoppix or some Linux install CD.&lt;/li&gt;&lt;li&gt;Make sure the filesystem is really not mounted. Just for safety of your
data. Run &lt;tt&gt;e2fsck /dev/hda5&lt;/tt&gt; - this should take less than one second if
your filesystem is clean and is needed anyway otherwise...&lt;/li&gt;&lt;li&gt;Execute &lt;tt&gt;tune2fs -O +dir_index /dev/hda5&lt;/tt&gt; to enable the feature
for your filesystem&lt;/li&gt;&lt;li&gt;Execute &lt;tt&gt;e2fsck -Df /dev/hda5&lt;/tt&gt;. This will force a filesystem check
with directory optimization (!) on your filesystem.&lt;/li&gt;&lt;li&gt;Mount your system (or reboot, if you were using a live CD)&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;</description>
        <dc:date>2006-06-05T18:25+00:00</dc:date>
        <dc:modified>2006-06-05 18:25:26</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>Getting RSS feeds from private blogs.</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/05/30/getting-rss-feeds-from-private-blogs</link>       
        <description>If you want to be able to access somes RSS feed, which is in a private blog, using software other than an integrated Firefox or Safari reader, then you need to slightly alter the RSS URL to tell plone to accept HTTP auth. To do this, append the following to the RSS feed:&lt;br /&gt;&lt;pre&gt;?disable_cookie_login__=1&lt;br /&gt;&lt;/pre&gt;So, if my blog was private, it's RSS feed would be:&lt;br /&gt;&lt;pre&gt;https://plone.jcu.edu.au/research/Members/nigel/nigels-blog/feed.rdf?disable_cookie_login__=1&lt;/pre&gt;</description>
        <dc:date>2006-05-30T14:42+00:00</dc:date>
        <dc:modified>2006-05-30 14:42:25</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>Network Manager doesn't find devices</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/05/23/network-manager-doesnt-find-devices</link>       
        <description>After upgrading network-manager from 0.6.2-1 to 0.6.2-3 none of my network devices show up. This is due to a change in the way devices are enumerated. If your device is listed in &lt;b&gt;/etc/network/interfaces&lt;/b&gt; then it will not be managed by Network Manager. So deleting all references to non &lt;i&gt;lo &lt;/i&gt;devices solved the problem.&lt;br /&gt;</description>
        <dc:date>2006-05-23T22:19+00:00</dc:date>
        <dc:modified>2006-06-19 11:47:33</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>Livesearch in Plone</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/05/23/livesearch-in-plone</link>       
        <description>The situation where live search returns one set of results, and normal search doesn't is caused by the fact live search appends * (wildcard) to the search, while normal search doesn't.&lt;br /&gt;</description>
        <dc:date>2006-05-23T18:57+00:00</dc:date>
        <dc:modified>2006-05-23 18:57:07</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>Speeding up blogs</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/05/07/speeding-up-blogs</link>       
        <description>I've noticed that it can take a long time to display some large blogs when using the plone viewer. This seems to be able to be alleviated if you turn off showing the category pictures in the blog itself.&lt;br /&gt;</description>
        <dc:date>2006-05-07T12:45+00:00</dc:date>
        <dc:modified>2006-05-07 12:45:06</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>The weigh in</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/05/05/the-weigh-in</link>       
        <description>The results are in for the bike weigh in:&lt;br /&gt;Mat's: 9kg&lt;br /&gt;Tristan's: 11kg&lt;br /&gt;Nigel's: 13kg&lt;br /&gt;Ian's: 13kg&lt;br /&gt;Russell's: 14kg&lt;br /&gt;&lt;br /&gt;Now how much does it cost per kilo?&lt;br /&gt;</description>
        <dc:date>2006-05-05T22:30+00:00</dc:date>
        <dc:modified>2006-05-05 22:30:27</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    
    <item>
        <title>Beagle - Evolution</title>
        <link>http://plone.jcu.edu.au/research/Members/nigel/nigels-blog/archive/2006/05/02/beagle---evolution</link>       
        <description>&lt;p&gt;Beagle has this nasty problem for me. When beagled starts this happens:&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;Debug: Getting calendar changes for file:///home/nigel/.evolution/calendar/local/system&lt;br /&gt;Error: Unhandled exception thrown.  Exiting immediately.&lt;br /&gt;Error: GLib.GException: Unknown error&lt;br /&gt;in &amp;lt;0x00187&amp;gt; Evolution.Cal:GetChanges (string,Evolution.CalComponent[]&amp;amp;,Evolution.CalComponent[]&amp;amp;,string[]&amp;amp;)&lt;br /&gt;in [0x0003f] (at /tmp/buildd/beagle-0.2.4/beagled/EvolutionDataServerQueryable/CalContainer.cs:92) Beagle.Daemon.EvolutionDataServerQueryable.CalContainer:IndexChanges ()&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;I'm not sure how to actually fix it, but a work around was found &lt;a href="http://www.ubuntuforums.org/archive/index.php/t-78810.html" target="_self"&gt;here&lt;/a&gt;, which basically equates to: &lt;b&gt;apt-get remove beagle-backend-evolution&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;</description>
        <dc:date>2006-05-02T13:53+00:00</dc:date>
        <dc:modified>2006-05-02 13:53:18</dc:modified>
        
        <dc:creator>nigel</dc:creator>
        
    </item>
    
    
    
    </channel>
</rss>
