<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jonathan@BluMarble</title>
	<atom:link href="http://blog.blu-marble.co.za/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.blu-marble.co.za</link>
	<description>Python, Django and Linux Related Scripts, Musings &#38; Rants</description>
	<lastBuildDate>Fri, 20 Nov 2009 06:33:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Django: Change The Order Of Form Fields</title>
		<link>http://blog.blu-marble.co.za/2009/11/20/django-change-the-order-of-form-fields/</link>
		<comments>http://blog.blu-marble.co.za/2009/11/20/django-change-the-order-of-form-fields/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 06:29:57 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=280</guid>
		<description><![CDATA[Long time no post and this isn&#8217;t a particularly interest post either, but if you ever need to change the order of a predefined form classes fields, this could be helpful. I hacked around a bit on this one and could only find one answer and that was to remove the form field completely and [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/11/20/django-change-the-order-of-form-fields/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Deleting Directories Recursively</title>
		<link>http://blog.blu-marble.co.za/2009/10/18/php-deleting-directories-recursively/</link>
		<comments>http://blog.blu-marble.co.za/2009/10/18/php-deleting-directories-recursively/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 13:01:00 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[System Admin]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=271</guid>
		<description><![CDATA[This is a small helper function I wrote this morning in PHP to delete a directory containing multiple directories and files inside it. Its pretty simple to follow, however the one snag I encountered was distinguishing between files and directories has to be done using an absolute path:

&#60;?php
function delDir&#40;$dir&#41;&#123;
    if&#40;is_dir&#40;$dir&#41;&#41;&#123;
   [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/10/18/php-deleting-directories-recursively/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django: Urgent Security Updates Released</title>
		<link>http://blog.blu-marble.co.za/2009/10/11/django-urgent-security-updates-released/</link>
		<comments>http://blog.blu-marble.co.za/2009/10/11/django-urgent-security-updates-released/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 10:09:38 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=265</guid>
		<description><![CDATA[Just noticed an urgent security update available on the django website. The django team&#8217;s description of the vulnerability:
Django&#8217;s forms library included field types which perform regular-expression-based validation of email addresses and URLs. Certain addresses/URLs could trigger a pathological performance case in this regular expression, resulting in the server process/thread becoming unresponsive, and consuming excessive CPU [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/10/11/django-urgent-security-updates-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python: Tab Completion In The Interactive Console</title>
		<link>http://blog.blu-marble.co.za/2009/10/10/python-tab-completion-in-the-interactive-console/</link>
		<comments>http://blog.blu-marble.co.za/2009/10/10/python-tab-completion-in-the-interactive-console/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 19:30:04 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=260</guid>
		<description><![CDATA[One of the things that used to bug me a bit about using the python interactive console was that it didn&#8217;t support tab completion. So here a short &#8220;how to&#8221;, written for Linux and Mac users. Windows users &#8211; please see the tailing note.
In your home directory create a new file &#8220;.pystartup&#8221; and copy the [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/10/10/python-tab-completion-in-the-interactive-console/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Python: Best GUI Python Code Editors</title>
		<link>http://blog.blu-marble.co.za/2009/10/08/python-best-gui-python-code-editors/</link>
		<comments>http://blog.blu-marble.co.za/2009/10/08/python-best-gui-python-code-editors/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 18:03:38 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=213</guid>
		<description><![CDATA[Always up for debate, I though I&#8217;d put my opinion out there as to the best Python Editors or IDEs currently available. The most important thing to look for in an Editor is the comfort, ease of use and GUI, effective code completion, scalability, debugging capability, and speed. I&#8217;ve decided to profile five Python IDEs [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/10/08/python-best-gui-python-code-editors/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Django: Manage.py Subcommands You Need To Know</title>
		<link>http://blog.blu-marble.co.za/2009/10/05/django-manage-py-subcommands-you-need-to-know/</link>
		<comments>http://blog.blu-marble.co.za/2009/10/05/django-manage-py-subcommands-you-need-to-know/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 19:01:39 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=168</guid>
		<description><![CDATA[Django comes equipped with a very powerful set of shell commands accessible via the manage.py file in each of your django projects. These are few that I use relatively often as required. All the descriptions and commands have been extracted via ./manage.py &#8211;help, run the command from the terminal for a full list of subcommands.
 [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/10/05/django-manage-py-subcommands-you-need-to-know/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python: Two Python Wallpapers</title>
		<link>http://blog.blu-marble.co.za/2009/09/30/python-two-python-wallpapers/</link>
		<comments>http://blog.blu-marble.co.za/2009/09/30/python-two-python-wallpapers/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 19:48:39 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Stuff]]></category>
		<category><![CDATA[Wallpaper]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=158</guid>
		<description><![CDATA[Here are two python wallpapers to spruce up you desktop, both are compliments of www.openpc.com 

Download it here (1280px × 1024px)

Download it here (1680px × 1050px)
Related Posts:Linux: Windows Sux WallpaperProgramming: I Should Have Thought Of ThisDjango: Essential Django SnippetsUbuntu: 60 Awesome WallpapersDjango: Pinax - DjangoCon 2008]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/09/30/python-two-python-wallpapers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python: Evaluate A Data Type</title>
		<link>http://blog.blu-marble.co.za/2009/09/29/python-evaluate-a-data-type/</link>
		<comments>http://blog.blu-marble.co.za/2009/09/29/python-evaluate-a-data-type/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 15:52:53 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=153</guid>
		<description><![CDATA[It comes in very handy to be able to evaluate the exact type of a variable in Python and most other programming languages for that matter. Although it is possible to test the type in two different way, which I will demonstrate, I almost always use the second option. The problem with the first one [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/09/29/python-evaluate-a-data-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django: Essential Django Snippets</title>
		<link>http://blog.blu-marble.co.za/2009/09/28/django-essential-django-snippets/</link>
		<comments>http://blog.blu-marble.co.za/2009/09/28/django-essential-django-snippets/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 19:29:56 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[jQuery / Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[template tags]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=148</guid>
		<description><![CDATA[These a few of my favourite django snippets available on www.djangosnippets.org . If you&#8217;re not using Django Snippets yet, you could be wasting precious time. 
Essential Snippet #5 &#8211; Paginator Tag
Easy to implement paginator tag which offers consistent paging over your entire site by implementing your pagination controls in a single include.
Essential Snippet #4 &#8211; [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/09/28/django-essential-django-snippets/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>About Me: New Position With Praekelt Consulting</title>
		<link>http://blog.blu-marble.co.za/2009/09/28/about-me-new-position-with-praekelt-consulting/</link>
		<comments>http://blog.blu-marble.co.za/2009/09/28/about-me-new-position-with-praekelt-consulting/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 18:37:48 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[About Me]]></category>
		<category><![CDATA[Career]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=145</guid>
		<description><![CDATA[It is with a sore heart that I handed in my resignation at Prop Data today. I have been fortunate to have been part of the Prop Data team for the last year and a half and have learnt more in my term with them than I imagined possible. 
However I&#8217;m pleased to be joining [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/09/28/about-me-new-position-with-praekelt-consulting/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Linux: Shell And Directory Structure Primer</title>
		<link>http://blog.blu-marble.co.za/2009/09/20/linux-shell-and-directory-structure-primer/</link>
		<comments>http://blog.blu-marble.co.za/2009/09/20/linux-shell-and-directory-structure-primer/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 19:19:14 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=111</guid>
		<description><![CDATA[I through I&#8217;d put together this post not only to give you all a quick reference to common linux shell commands and a typical linux directory structure, but also as a bit of a reminder to myself. Hope its useful to someone else out there as well! 
Linux Directory Structure


/ -  The root directory, usually [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/09/20/linux-shell-and-directory-structure-primer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django: Mobile Web Development Pluggable</title>
		<link>http://blog.blu-marble.co.za/2009/09/15/django-mobile-web-development-pluggable/</link>
		<comments>http://blog.blu-marble.co.za/2009/09/15/django-mobile-web-development-pluggable/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 18:36:34 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=109</guid>
		<description><![CDATA[I found this really awesome Django plugable Google Code the other day &#8211; http://code.google.com/p/django-bloom/. Django Bloom is set of open source pluggable applications for rapidly developing mobile websites in Django and consists of the following components:

BloomDevice: pluggable application for device detection using Device Atlas
BloomImage: scales images to fit mobile devices
BloomSMS: component for sending and receiving [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/09/15/django-mobile-web-development-pluggable/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ubuntu: 60 Awesome Wallpapers</title>
		<link>http://blog.blu-marble.co.za/2009/09/08/ubuntu-60-awesome-wallpapers/</link>
		<comments>http://blog.blu-marble.co.za/2009/09/08/ubuntu-60-awesome-wallpapers/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 10:38:17 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Stuff]]></category>
		<category><![CDATA[Wallpaper]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=106</guid>
		<description><![CDATA[I just stumbledupon these Ubuntu wallpapers, there are some really stunning ones. Check it out: 60 Excellent Ubuntu Wallpapers/
Related Posts:Python: Two Python WallpapersWeb Development: Myles CreativeLinux: Windows Sux WallpaperDjango: Essential Django SnippetsPython: Best GUI Python Code Editors]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/09/08/ubuntu-60-awesome-wallpapers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django: 10 Things A Newby Should Know</title>
		<link>http://blog.blu-marble.co.za/2009/09/03/django-10-things-a-newby-should-know/</link>
		<comments>http://blog.blu-marble.co.za/2009/09/03/django-10-things-a-newby-should-know/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 12:01:33 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Django]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=103</guid>
		<description><![CDATA[I found this article with tweeting today: Top 10 Tips To A New Django Developer/. Very valuable to someone just starting out with Django.
Related Posts:Python: HTML to PDF ConverterLinux: Windows Sux WallpaperDjango: Print Out Autogenerated SQLPython: Two Python WallpapersDjango: Mobile Web Development Pluggable]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/09/03/django-10-things-a-newby-should-know/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python: Can&#8217;t Live Without List Comprehension</title>
		<link>http://blog.blu-marble.co.za/2009/09/02/python-cant-live-without-list-comprehension/</link>
		<comments>http://blog.blu-marble.co.za/2009/09/02/python-cant-live-without-list-comprehension/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 18:53:45 +0000</pubDate>
		<dc:creator>Jonathan Bydendyk</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.blu-marble.co.za/?p=99</guid>
		<description><![CDATA[No, seriously I can but don&#8217;t want to&#8230; If you not sure what I&#8217;m on about, check the two examples below and decide for yourself which method makes more sense to you to use:
Without:

data_list = &#91;&#93;
for obj in obj_list:
    data_list.append&#40;&#91;obj.id, obj.name&#93;&#41;

With:

data_list = &#91;&#91;obj.id, obj.name&#93; for obj in obj_list&#93;

Without:

member_list = &#91;'cartman', 'stan', 'kenny', [...]]]></description>
		<wfw:commentRss>http://blog.blu-marble.co.za/2009/09/02/python-cant-live-without-list-comprehension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
