<?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"
	>

<channel>
	<title>Tech Mix</title>
	<atom:link href="http://techmix.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://techmix.net/blog</link>
	<description>Beautify the mixture ... and my Love for Morcheeba ~</description>
	<pubDate>Sat, 29 Nov 2008 08:08:49 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>How to delete all .svn folders recursively</title>
		<link>http://techmix.net/blog/2008/11/29/how-to-delete-all-svn-folders-recursively/</link>
		<comments>http://techmix.net/blog/2008/11/29/how-to-delete-all-svn-folders-recursively/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 08:03:32 +0000</pubDate>
		<dc:creator>number.0</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[delete]]></category>

		<category><![CDATA[recursive]]></category>

		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://techmix.net/blog/2008/11/29/how-to-delete-all-svn-folders-recursively/</guid>
		<description><![CDATA[You might need to do this sometimes, tt&#8217;s as simple as this:
On Linux:
rm -rf `find . -name .svn`
On Windows
Create a .bat file (some name like: delete_svn.bat) at the root of the directory from where u want to delete all .svn subfolders
for /f “tokens=* delims=” %%i in (’dir /s /b /a:d *svn’) do (
rd /s /q [...]]]></description>
			<content:encoded><![CDATA[<p>You might need to do this sometimes, tt&#8217;s as simple as this:</p>
<p>On Linux:</p>
<blockquote><p>rm -rf `find . -name .svn`</p></blockquote>
<p>On Windows</p>
<p>Create a .bat file (some name like: delete_svn.bat) at the root of the directory from where u want to delete all .svn subfolders</p>
<blockquote><p>for /f “tokens=* delims=” %%i in (’dir /s /b /a:d *svn’) do (<br />
rd /s /q “%%i”<br />
)</p></blockquote>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Tech%20Mix&amp;siteurl=http%3A%2F%2Ftechmix.net%2Fblog%2F&amp;linkname=How%20to%20delete%20all%20.svn%20folders%20recursively&amp;linkurl=http%3A%2F%2Ftechmix.net%2Fblog%2F2008%2F11%2F29%2Fhow-to-delete-all-svn-folders-recursively%2F"><img src="http://techmix.net/blog/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://techmix.net/blog/2008/11/29/how-to-delete-all-svn-folders-recursively/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google App Engine &#038; cron jobs</title>
		<link>http://techmix.net/blog/2008/11/04/google-app-engine-cron-jobs/</link>
		<comments>http://techmix.net/blog/2008/11/04/google-app-engine-cron-jobs/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 02:38:15 +0000</pubDate>
		<dc:creator>number.0</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[appengine]]></category>

		<category><![CDATA[cron]]></category>

		<category><![CDATA[gae]]></category>

		<category><![CDATA[google app engine]]></category>

		<category><![CDATA[jobs]]></category>

		<guid isPermaLink="false">http://techmix.net/blog/2008/11/04/google-app-engine-cron-jobs/</guid>
		<description><![CDATA[I decided to try Google App Engine for a personal project, that pulls yahoo weather at a regular time interval, but as I dived into Google App Engine then this simple thing can not be done in cron jobs, so I started to think about the solution, here is what I came up with, just [...]]]></description>
			<content:encoded><![CDATA[<p>I decided to try Google App Engine for a personal project, that pulls yahoo weather at a regular time interval, but as I dived into Google App Engine then this simple thing can not be done in cron jobs, so I started to think about the solution, here is what I came up with, just the idea:</p>
<p>- Create a Cronjob class to handle the cronjob: this class will do the all the tasks that need to be done regularly<br />
- Use javascript at client side to refresh the Cronjob page at a regular time interval.</p>
<p>I think the idea is simple, it does solve the problem but require you to have the page opened all the time. Some of you may have better idea?</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Tech%20Mix&amp;siteurl=http%3A%2F%2Ftechmix.net%2Fblog%2F&amp;linkname=Google%20App%20Engine%20%26%23038%3B%20cron%20jobs&amp;linkurl=http%3A%2F%2Ftechmix.net%2Fblog%2F2008%2F11%2F04%2Fgoogle-app-engine-cron-jobs%2F"><img src="http://techmix.net/blog/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://techmix.net/blog/2008/11/04/google-app-engine-cron-jobs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Pinax with mod_wsgi installation (Slackware 12.1)</title>
		<link>http://techmix.net/blog/2008/11/01/pinax-with-mod_wsgi-installation-slackware-121/</link>
		<comments>http://techmix.net/blog/2008/11/01/pinax-with-mod_wsgi-installation-slackware-121/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 09:55:15 +0000</pubDate>
		<dc:creator>number.0</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[slackware]]></category>

		<category><![CDATA[django]]></category>

		<category><![CDATA[mod_wsgi]]></category>

		<category><![CDATA[pinax]]></category>

		<guid isPermaLink="false">http://techmix.net/blog/2008/11/01/pinax-with-mod_wsgi-installation-slackware-121/</guid>
		<description><![CDATA[I&#8217;m quite new to Django, Pinax and mod_wsgi, so today i decided to try on Pinax with a Slackware 12.1 development box. Everytime I forget after doing something, so better to note it down here, easier for me to remind it later, official Pinax 0.5 has been out for few days, and it&#8217;s a good [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m quite new to Django, Pinax and mod_wsgi, so today i decided to try on Pinax with a Slackware 12.1 development box. Everytime I forget after doing something, so better to note it down here, easier for me to remind it later, official Pinax 0.5 has been out for few days, and it&#8217;s a good time to try it to see how it can replace my current home-made PHP CMS. I&#8217;m not very used to Django, so another chance to play with it, my experience with Python framework only stop at Skunkweb &amp; Quixote.</p>
<p><span id="more-51"></span>Okay, now is how i managed everything to work with some helps from James Tauber on #pinax irc</p>
<p>+ <em>Before downloading Pinax 0.5, you need to setup Apache2, Django &amp; mod_wsgi on Slackware 12.1, configure and load mod_wsgi in apache. Googling will be your friend <img src='http://techmix.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p><em>+ Download Pinax from <a href="http://pinaxproject.com/download">http://pinaxproject.com/download</a></em></p>
<p><em>+ Unzipped to <strong>/srv/pinax</strong></em></p>
<p><em>+ Firstly initialize the database (sqlite3):</em></p>
<blockquote><p>#/srv/pinax/projects/complete_project/manage.py syncdb</p></blockquote>
<p>This will create dev.db in complete_project, it will create an user during installation for you to login</p>
<p>Okay, now it&#8217;s time to adjust something</p>
<blockquote><p>+ <em>To run in mod_wsgi, the database file should be in absolute path, so edit <strong>/srv/pinax/projects/complete_project/settings.py:</strong></em></p>
<blockquote><p>DATABASE_NAME = &#8216;/srv/pinax/projects/complete_project/dev.db&#8217;</p></blockquote>
<p>+ <em>Add a symlinks to your django admin media folder (mine is at: /<strong>usr/lib/python2.5/site-packages/django/contrib/admin/media/</strong>)</em></p>
<blockquote><p>#ln -s /usr/lib/python2.5/site-packages/django/contrib/admin/media /srv/pinax/projects/complete_project/admin_media</p></blockquote>
<p>+ <em>Made everything owned by apache user/group</em></p>
<blockquote><p>#chown -R apache:apache /srv/pinax</p></blockquote>
<p>+ <em>The wsgi for deployment stays in <strong>/srv/pinax/projects/complete_project/deploy/complete_project.wsgi,</strong> we need to specify this in the apache virtual host, here is mine <strong>/etc/httpd/extra/httpd-vhosts</strong>:</em></p>
<blockquote><p>&lt;VirtualHost *:80&gt;<br />
ServerAdmin admin@pinax.dev.com<br />
ServerName pinax.dev.com<br />
DocumentRoot &#8220;/srv/pinax&#8221;<br />
WSGIScriptAlias / /srv/pinax/projects/complete_project/deploy/complete_project.wsgi<br />
Alias /site_media /srv/pinax/projects/complete_project/site_media<br />
Alias /media/ /srv/pinax/projects/complete_project/admin_media/<br />
WSGIProcessGroup pinax<br />
WSGIDaemonProcess pinax user=apache group=apache threads=25</p>
<p>&lt;Directory &#8220;/srv/pinax&#8221;&gt;<br />
Options Indexes FollowSymLinks<br />
AllowOverride All<br />
Order allow,deny<br />
Allow from all<br />
&lt;/Directory&gt;<br />
ErrorLog &#8220;/var/log/httpd/pinax.dev.com-error-log&#8221;<br />
&lt;/VirtualHost&gt;</p></blockquote>
<p>(Note: You need to put an entry in /etc/hosts for pinax.dev.com point to 127.0.0.1)</p>
<p><em>+ Restart the apache server <strong>#/etc/rc.d/rc.httpd restart</strong></em></p>
<p>+ <em>Browse http://pinax.dev.com to see if it works. If you encounter the <strong>PYTHON_EGG_CACHE</strong> problem then create folder .python-eggs inside /var/www and made it owned by apache user/group</em></p></blockquote>
<p>Hope that will work for u too. Still not working, head on #pinax irc, you might get the answer</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Tech%20Mix&amp;siteurl=http%3A%2F%2Ftechmix.net%2Fblog%2F&amp;linkname=Pinax%20with%20mod_wsgi%20installation%20%28Slackware%2012.1%29&amp;linkurl=http%3A%2F%2Ftechmix.net%2Fblog%2F2008%2F11%2F01%2Fpinax-with-mod_wsgi-installation-slackware-121%2F"><img src="http://techmix.net/blog/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://techmix.net/blog/2008/11/01/pinax-with-mod_wsgi-installation-slackware-121/feed/</wfw:commentRss>
		</item>
		<item>
		<title>wget recursive download</title>
		<link>http://techmix.net/blog/2008/10/27/wget-recursive-download/</link>
		<comments>http://techmix.net/blog/2008/10/27/wget-recursive-download/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 05:05:50 +0000</pubDate>
		<dc:creator>number.0</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[download]]></category>

		<category><![CDATA[recursive]]></category>

		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://techmix.net/blog/2008/10/27/wget-recursive-download/</guid>
		<description><![CDATA[Okay, here is a quick way to get everything recursively downloaded using wget
$wget -rkp -np &#60;url here&#62;

    

	]]></description>
			<content:encoded><![CDATA[<p>Okay, here is a quick way to get everything recursively downloaded using wget</p>
<blockquote><p>$wget -rkp -np <span style="color: #000099;">&lt;url here&gt;</span></p></blockquote>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Tech%20Mix&amp;siteurl=http%3A%2F%2Ftechmix.net%2Fblog%2F&amp;linkname=wget%20recursive%20download&amp;linkurl=http%3A%2F%2Ftechmix.net%2Fblog%2F2008%2F10%2F27%2Fwget-recursive-download%2F"><img src="http://techmix.net/blog/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://techmix.net/blog/2008/10/27/wget-recursive-download/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Python File Manipulation (Excel, OpenOffice, Media, DBF, rar, gps, id3 &#8230;)</title>
		<link>http://techmix.net/blog/2008/10/21/python-file-manipulation-excel-openoffice-media-dbf-rar-gps-id3/</link>
		<comments>http://techmix.net/blog/2008/10/21/python-file-manipulation-excel-openoffice-media-dbf-rar-gps-id3/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 13:19:16 +0000</pubDate>
		<dc:creator>number.0</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[excel]]></category>

		<category><![CDATA[gps]]></category>

		<category><![CDATA[manipulation]]></category>

		<category><![CDATA[media]]></category>

		<category><![CDATA[openoffice]]></category>

		<guid isPermaLink="false">http://techmix.net/blog/2008/10/21/python-file-manipulation-excel-openoffice-media-dbf-rar-gps-id3/</guid>
		<description><![CDATA[I keep some bookmarks of file manipulation with Python, please update if you know more. Thank you!
Documents / Office:
pyExcelerator: Generating Excel97 filesOOoPy: Manipulating OpenOffice documentsdbfpy: Manipulating dBase, Foxpro DBF filesvobject: Reading vCard &#38; vCalendarPalmDB: manipulating PalmPDB &#38; PRC
Multimedia:
PyMedia: Manipulating wav, ogg, avi, divx, dvd etc..
Photos / Images:
TheBigPicture: manipulating EXIF &#38; IPTC metadata in JPEG &#38; [...]]]></description>
			<content:encoded><![CDATA[<p>I keep some bookmarks of file manipulation with Python, please update if you know more<b>. </b>Thank you!<b></p>
<p>Documents / Office:</b></p>
<blockquote><p><a href="http://sourceforge.net/projects/pyexcelerator/">pyExcelerator</a>: Generating Excel97 files<br /><a href="http://pypi.python.org/pypi/OOoPy/1.1.4479">OOoPy</a>: Manipulating OpenOffice documents<br /><a href="http://cheeseshop.python.org/pypi/dbfpy/2.2.0">dbfpy</a>: Manipulating dBase, Foxpro DBF files<br /><a href="http://cheeseshop.python.org/pypi/vobject/0.4.2">vobject</a>: Reading vCard &amp; vCalendar<br /><a href="http://cheeseshop.python.org/pypi/PalmDB/1.8.0">PalmDB</a>: manipulating PalmPDB &amp; PRC</p></blockquote>
<p><b>Multimedia:</b></p>
<blockquote><p><a href="http://www.pymedia.org/">PyMedia</a>: Manipulating wav, ogg, avi, divx, dvd etc..</p></blockquote>
<p><b>Photos / Images:</b></p>
<blockquote><p><a href="http://code.google.com/p/thebigpicture/">TheBigPicture</a>: manipulating EXIF &amp; IPTC metadata in JPEG &amp; TIFF files<br /><a href="http://www.emilas.com/jpeg/">jpeg.py</a>: manipulating EXIF metadata of JPEG</p></blockquote>
<p><b>GPS:</b></p>
<blockquote><p><a href="http://pygarmin.sourceforge.net/">PyGarmin</a>: Manipulating data from Garmin GPS</p></blockquote>
<p><b>Utilities:</b></p>
<blockquote><p><a href="http://www.averdevelopment.com/python/UnRAR.html">PyUNRAR</a>: unpacking RAR files<br /><a href="http://freshmeat.net/projects/libextractor/?branch_id=29608&amp;release_id=205193">libextractor</a>: extract data from any type of files</p></blockquote>
<p></p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Tech%20Mix&amp;siteurl=http%3A%2F%2Ftechmix.net%2Fblog%2F&amp;linkname=Python%20File%20Manipulation%20%28Excel%2C%20OpenOffice%2C%20Media%2C%20DBF%2C%20rar%2C%20gps%2C%20id3%20%26%238230%3B%29&amp;linkurl=http%3A%2F%2Ftechmix.net%2Fblog%2F2008%2F10%2F21%2Fpython-file-manipulation-excel-openoffice-media-dbf-rar-gps-id3%2F"><img src="http://techmix.net/blog/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://techmix.net/blog/2008/10/21/python-file-manipulation-excel-openoffice-media-dbf-rar-gps-id3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Regular Expression GUI Debugger for Python</title>
		<link>http://techmix.net/blog/2008/10/20/regular-expression-gui-debugger-for-python/</link>
		<comments>http://techmix.net/blog/2008/10/20/regular-expression-gui-debugger-for-python/#comments</comments>
		<pubDate>Mon, 20 Oct 2008 04:40:21 +0000</pubDate>
		<dc:creator>number.0</dc:creator>
		
		<category><![CDATA[editor]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[regex]]></category>

		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://techmix.net/blog/2008/10/20/regular-expression-gui-debugger-for-python/</guid>
		<description><![CDATA[I&#8217;m writing a tokenizer in Python and found out a great GUI debugger for Regular Expression. For all of you that have been looking for a good Python Regular Expression GUI, you can depend on this - named Kodos:
Kodos is a Python GUI utility for creating, testing and debugging regular
expressions for the Python programming language. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m writing a tokenizer in Python and found out a great GUI debugger for Regular Expression. For all of you that have been looking for a good Python Regular Expression GUI, you can depend on this - named Kodos:</p>
<blockquote><p>Kodos is a Python GUI utility for creating, testing and debugging regular<br />
expressions for the Python programming language.  Kodos should aid any<br />
developer to efficiently and effortlessly develop regular expressions in<br />
Python.  Since Python&#8217;s implementation of regular expressions is based on<br />
the <a href="http://www.pcre.org/" target="x">PCRE</a> standard, Kodos should<br />
benefit developers in other programming languages that also adhere to the<br />
PCRE standard (Perl, PHP, etc&#8230;).</p></blockquote>
<p>You can download and try it <a href="http://kodos.sourceforge.net" target="_blank">here</a></p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Tech%20Mix&amp;siteurl=http%3A%2F%2Ftechmix.net%2Fblog%2F&amp;linkname=Regular%20Expression%20GUI%20Debugger%20for%20Python&amp;linkurl=http%3A%2F%2Ftechmix.net%2Fblog%2F2008%2F10%2F20%2Fregular-expression-gui-debugger-for-python%2F"><img src="http://techmix.net/blog/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://techmix.net/blog/2008/10/20/regular-expression-gui-debugger-for-python/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mapnik installation on Slackware 12.1</title>
		<link>http://techmix.net/blog/2008/10/05/mapnik-installation-on-slackware-121/</link>
		<comments>http://techmix.net/blog/2008/10/05/mapnik-installation-on-slackware-121/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 08:22:03 +0000</pubDate>
		<dc:creator>number.0</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<category><![CDATA[slackware]]></category>

		<category><![CDATA[gis]]></category>

		<category><![CDATA[mapnik]]></category>

		<guid isPermaLink="false">http://techmix.net/blog/2008/10/05/mapnik-installation-on-slackware-121/</guid>
		<description><![CDATA[Here are the steps that I managed to install Mapnik 0.5.1 on Slackware 12.1, it&#8217;s for personal documentation but might be helpful for some of you out there.
Depends on your current installed packages, you may be required to install some other packages, for details of the dependencies, please refer to it&#8217;s wiki
 Mapnik requires the [...]]]></description>
			<content:encoded><![CDATA[<p>Here are the steps that I managed to install Mapnik 0.5.1 on Slackware 12.1, it&#8217;s for personal documentation but might be helpful for some of you out there.</p>
<p>Depends on your current installed packages, you may be required to install some other packages, for details of the dependencies, please refer to it&#8217;s wiki</p>
<blockquote><p> Mapnik requires the Boost libraries, International Components for Unicode, Freetype, Proj4, and a variety of image libraries. </p>
<p> Installing Boost is often new to mapnik users, but the majority of remaining dependencies are more familiar. </p>
<p> If you have previously built or installed other open source graphics or mapping applications it is likely that most of the remaining dependencies are already installed. </p>
<p> Currently detailed notes on mapnik dependencies are included in each platform specific installation instructions. </p>
<p> See <a class="wiki" href="http://trac.mapnik.org/wiki/MapnikInstallation">MapnikInstallation</a> for more information. </p>
</blockquote>
<p>Before installation, check your boost lib compatibility <a href="http://trac.mapnik.org/wiki/BoostCompatibility">here</a><br />The boost lib I got from LinuxPackages.Net for Slackware 12.1 is at version 1.36, which is not compatible with mapnik 0.5.1 (I got error while compiling), so I took boost version 1.35 from <a href="http://www.slackware.com/%7Ealien/slackbuilds/boost/pkg/12.1/">here</a></p>
<blockquote><p>- Install boost lib package<br />- Install scons package (from <a href="http://repository.slacky.eu/slackware-12.1/development/scons/1.0.1/">slacky.eu</a>), requiredbuilder (from <a href="http://www.stabellini.net/requiredbuilder.html">stabellini.net</a> )<br />- Download SlackBuild of Mapnik for Slackware 12.1 from <a href="http://repository.slacky.eu/slackware-12.1/development/mapnik/0.5.1/src/">slacky.eu</a> , put everything in the same folder (e.x /home/download/mapnik-slackbuild/)<br />- running #./mapnik.SlackBuild<br />- If everything is ok, you will get mapnik package at the same folder with the slackbuild scripts, install it like other Slackware packages.</p></blockquote>
<p><b>Test your Mapnik</b>:</p>
<p>Once the installation is completed, you can test your installation by running a Python Hello World with Mapnik (You can see detailed instruction from <a href="http://trac.mapnik.org/wiki/GettingStarted">here</a>). Here is my summarization</p>
<p>1. Download the <a href="http://mapnik-utils.googlecode.com/svn/trunk/sample_data/world_borders.zip">data</a>, put it in /home/work/mapnik/data/ &amp; unzip it<br />2. Copy the python code below, put in it a file name <b>world.py</b> at /home/work/mapnik/<br />
<blockquote><span class="c">#!/usr/bin/env python</span></p>
<p><span class="kn">from</span> <span class="nn">mapnik</span> <span class="kn">import</span> <span class="o">*</span><br />m <span class="o">=</span> Map<span class="p">(</span><span class="mf">600</span><span class="p">,</span><span class="mf">300</span><span class="p">,</span><span class="s">&#8220;+proj=latlong +datum=WGS84&#8243;</span><span class="p">)</span><br />m<span class="o">.</span>background <span class="o">=</span> Color<span class="p">(</span><span class="s">&#8217;steelblue&#8217;</span><span class="p">)</span><br />s <span class="o">=</span> Style<span class="p">()</span><br />r<span class="o">=</span>Rule<span class="p">()</span><br />r<span class="o">.</span>symbols<span class="o">.</span>append<span class="p">(</span>PolygonSymbolizer<span class="p">(</span>Color<span class="p">(</span><span class="s">&#8216;#f2eff9&#8242;</span><span class="p">)))</span><br />r<span class="o">.</span>symbols<span class="o">.</span>append<span class="p">(</span>LineSymbolizer<span class="p">(</span>Color<span class="p">(</span><span class="s">&#8216;rgb(50%,50%,50%)&#8217;</span><span class="p">),</span><span class="mf">0.1</span><span class="p">))</span><br />s<span class="o">.</span>rules<span class="o">.</span>append<span class="p">(</span>r<span class="p">)</span><br />m<span class="o">.</span>append_style<span class="p">(</span><span class="s">&#8216;My Style&#8217;</span><span class="p">,</span>s<span class="p">)</span><br />lyr <span class="o">=</span> Layer<span class="p">(</span><span class="s">&#8216;world&#8217;</span><span class="p">)</span><br />lyr<span class="o">.</span>datasource <span class="o">=</span> Shapefile<span class="p">(</span><span class="nb">file</span><span class="o">=</span><span class="s">&#8216;/home/work/mapnik/data/world_borders&#8217;</span><span class="p">)</span><br />lyr<span class="o">.</span>styles<span class="o">.</span>append<span class="p">(</span><span class="s">&#8216;My Style&#8217;</span><span class="p">)</span><br />m<span class="o">.</span>layers<span class="o">.</span>append<span class="p">(</span>lyr<span class="p">)</span><br />m<span class="o">.</span>zoom_to_box<span class="p">(</span>lyr<span class="o">.</span>envelope<span class="p">())</span><br />render_to_file<span class="p">(</span>m<span class="p">,</span><span class="s">&#8216;world.png&#8217;</span><span class="p">,</span> <span class="s">&#8216;png&#8217;</span><span class="p">)</span></p></blockquote>
<p>3. Go to /home/work/mapnik/ and run the script #python world.py, if you get the<b> world.png</b> file in the same folder then everything is fine, mean the installation was successful</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Tech%20Mix&amp;siteurl=http%3A%2F%2Ftechmix.net%2Fblog%2F&amp;linkname=Mapnik%20installation%20on%20Slackware%2012.1&amp;linkurl=http%3A%2F%2Ftechmix.net%2Fblog%2F2008%2F10%2F05%2Fmapnik-installation-on-slackware-121%2F"><img src="http://techmix.net/blog/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://techmix.net/blog/2008/10/05/mapnik-installation-on-slackware-121/feed/</wfw:commentRss>
		</item>
		<item>
		<title>CouchDB resources</title>
		<link>http://techmix.net/blog/2008/10/03/couchdb-resources/</link>
		<comments>http://techmix.net/blog/2008/10/03/couchdb-resources/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 04:59:20 +0000</pubDate>
		<dc:creator>number.0</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<category><![CDATA[couchdb]]></category>

		<category><![CDATA[javascript]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://techmix.net/blog/2008/10/03/couchdb-resources/</guid>
		<description><![CDATA[This post will help me to keep track of some good resources on Internet related to CouchDB development

Wiki
http://wiki.apache.org/couchdb/
Tutorials
Introduction
Official website
Author blog (Jan Lehnardt)
Author blog (Damien Katz)
Conceptual Diagram

Step-by-step guide:
Programming CouchDB with Javascript (very good &#38; detailed guide)
CouchDB on Rails (nice one, detailed, step-by-step, but I&#8217;m not a rail developer, may be later on)
Simple one way replication (Ruby)
General [...]]]></description>
			<content:encoded><![CDATA[<p>This post will help me to keep track of some good resources on Internet related to CouchDB development<br />
<img style="max-width: 800px;" src="http://svn.apache.org/repos/asf/incubator/couchdb/supplement/logo/couchdb-site.png" alt="" /><br />
<strong>Wiki</strong></p>
<blockquote><p><a href="http://wiki.apache.org/couchdb/">http://wiki.apache.org/couchdb/</a></p></blockquote>
<p><strong>Tutorials</strong></p>
<blockquote><p><strong>Introduction<br />
</strong><a href="http://incubator.apache.org/couchdb/">Official website</a><br />
<a href="http://jan.prima.de/plok/">Author blog</a> (Jan Lehnardt)<br />
<a href="http://damienkatz.net">Author blog</a> (Damien Katz)<br />
<a href="http://zylstra.wordpress.com/2008/04/03/conceptual-diagram-of-couchdb/">Conceptual Diagram</a><br />
<strong><br />
Step-by-step guide:<br />
</strong><a href="http://jan.prima.de/%7Ejan/plok/archives/108-Programming-CouchDB-with-Javascript.html">Programming CouchDB with Javascript</a> (very good &amp; detailed guide)<br />
<a href="http://aimee.mychores.co.uk/2008/09/07/post/320/">CouchDB on Rails</a> (nice one, detailed, step-by-step, but I&#8217;m not a rail developer, may be later on)<br />
<a href="http://blog.idearise.com/2008/09/08/couchdb-081/">Simple one way replication</a> (Ruby)</p>
<p><strong>General Discussion:<br />
</strong><a href="http://kore-nordmann.de/blog/couchdb_a_use_case.html">CouchDB - Use case</a><strong><br />
</strong><a href="http://www.davispj.com/posts/couchdb-joins.html" target="_blank">Couchdb Joins by Paul Joseph Davis</a><br />
<a href="http://www.cmlenz.net/archives/2007/10/couchdb-joins">CouchDB Joins by Christopher Lenz</a><br />
<a href="http://blog.paulbonser.com/2008/07/04/storing-hierarchical-data-in-couchdb/">Storing hierachical data in CouchDB</a></p>
<p><strong>PHP:</strong><br />
<a href="http://kore-nordmann.de/projects/phpillow/index.html">PHPillow - object oriented wrapper for CouchDB</a><br />
<a href="http://wiki.apache.org/couchdb/GettingStartedWithPhp">http://wiki.apache.org/couchdb/GettingStartedWithPhp</a></p>
<p><strong>Python</strong>:<br />
<a href="http://code.google.com/p/couchdb-python/">Python-CouchDB wrapper library</a><br />
<a href="http://www.cmlenz.net/archives/2007/09/couchdb-via-python">CouchDB via Python</a> (python-couchdb author website)<br />
<a href="http://lethain.com/entry/2008/aug/18/an-introduction-to-using-couchdb-with-django/">CouchDB with Django</a></p>
<p><strong>Ruby &amp; Rails:<br />
</strong><a href="http://aimee.mychores.co.uk/2008/09/07/post/320/">CouchDB on Rails</a><br />
<a href="http://planet.couchdb.com/">Planet CouchDB</a><br />
<a href="http://theexciter.com/articles/couchdb-and-couchobjects">CouchDB and CouchObjects</a></p>
<p><strong>.NET:</strong><br />
<a href="http://blog.ciarang.com/posts/a-couchdb-gui-front-end/">CouchDB Gui Front End</a></p>
<p><strong>JAVA:</strong><br />
<a href="http://code.google.com/p/couchdb4j/wiki/Example">CouchDB4J</a></p>
<p><strong>Hard-core:</strong><br />
These stuffs are at high level for those of you - brilliant minds, quite difficult to understand for me but they are here for completeness and you may find cool thing to plow more and become CouchDB experts <img src='http://techmix.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<a href="http://ayende.com/Blog/archive/2008/09/24/reading-erlang-inspecting-couchdb.aspx">Inspecting CouchDB</a><br />
<a href="http://ayende.com/Blog/archive/2008/09/24/more-couchdb-reading-btreelookup.aspx">CouchDB btree:lookup</a><br />
<a href="http://ayende.com/Blog/archive/2008/09/24/more-couchdb-reading-btreequery_modify.aspx">CouchDB btree:query_modify</a></p>
<p><strong>Comparision</strong>:<br />
<a href="http://www.automatthew.com/2007/12/amazon-simpledb-and-couchdb-compared.html">Amazon SimpleDB &amp; CouchDB</a></p>
<p><strong>Performance:</strong><br />
<a href="http://userprimary.net/user/2007/12/16/a-quick-look-at-couchdb-performance/">A quick look at couchdb performance</a></p></blockquote>
<p><strong>Real-word Examples:</strong></p>
<blockquote><p>You will find a lot of projects started to use CouchDB <a href="http://wiki.apache.org/couchdb/InTheWild">here</a></p></blockquote>
<p>Hope that you find them useful for getting start with CouchDB, I will try to keep this up-to-date, so help me if you can</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Tech%20Mix&amp;siteurl=http%3A%2F%2Ftechmix.net%2Fblog%2F&amp;linkname=CouchDB%20resources&amp;linkurl=http%3A%2F%2Ftechmix.net%2Fblog%2F2008%2F10%2F03%2Fcouchdb-resources%2F"><img src="http://techmix.net/blog/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://techmix.net/blog/2008/10/03/couchdb-resources/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Django, Mod-Python &#038; CouchDB</title>
		<link>http://techmix.net/blog/2008/09/24/django-mod-python-couchdb/</link>
		<comments>http://techmix.net/blog/2008/09/24/django-mod-python-couchdb/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 08:57:22 +0000</pubDate>
		<dc:creator>number.0</dc:creator>
		
		<category><![CDATA[programming]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[couchdb]]></category>

		<guid isPermaLink="false">http://techmix.net/blog/?p=20</guid>
		<description><![CDATA[I managed to have CouchDB running with Django inside mod_python, everything was installed on my Slackware 12.1 development server.
1. mod_python is compiled for Apache2, if you don&#8217;t know how then proceed here2. I used official release from Django, check out here if you need help with the installation3. Install Erlang, CouchDB as described in my [...]]]></description>
			<content:encoded><![CDATA[<p>I managed to have CouchDB running with Django inside mod_python, everything was installed on my Slackware 12.1 development server.</p>
<p>1. mod_python is compiled for Apache2, if you don&#8217;t know how then <a href="http://www.modpython.org/live/current/doc-html/installation.html" target="_blank">proceed here</a><br />2. I used official release from Django, check out <a href="http://docs.djangoproject.com/en/dev/topics/install/#installing-official-release">here</a> if you need help with the installation<br />3. Install Erlang, CouchDB as described in <a href="http://techmix.net/blog/2008/09/18/erlang-couchdb-on-slackware-121/">my previous post </a><br />4. Install CouchDB Python binding is easy with easy_install couchdb<br />5. I set up a virtualhost to run my couchdb-django testing (/etc/httpd/extra/httpd-vhosts.conf)<br />
<blockquote><code><virtualhost *:80=""><br />ServerAdmin abc@abc.com<br />DocumentRoot &#8220;/srv/djangocouchdb&#8221;<br />ServerName django.dev.com<br /><directory srv="" djangocouchdb=""><br />Options FollowSymLinks<br />AllowOverride All<br />Order allow,deny<br />Allow from all<br /></directory><br /><location couchdb=""><br />PythonPath &#8220;[r'/srv/'] + sys.path&#8221;<br />SetHandler python-program<br />SetEnv DJANGO_SETTINGS_MODULE djangocouchdb.settings<br />PythonHandler django.core.handlers.modpython<br />PythonOption django.root /couchdb<br />PythonDebug On<br /></location><br /></virtualhost></code></p></blockquote>
<p>(well, i made my /etc/hosts file to have entry for django.dev.com for sure )</p>
<p>6. Then I followed instruction from <a href="http://lethain.com/entry/2008/aug/18/an-introduction-to-using-couchdb-with-django/">HERE</a> to create my django project and couchdb app inside that project. And everything worked, just with a little problem (access denied) with PYTHON_EGG_CACHE which in my system refered to /root/.python-eggs. I reset PYTHON_EGG_CACHE to /tmp and restarted my server, then everything worked fine.</p>
<p>Now it&#8217;s time to explore more <img src='http://techmix.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Tech%20Mix&amp;siteurl=http%3A%2F%2Ftechmix.net%2Fblog%2F&amp;linkname=Django%2C%20Mod-Python%20%26%23038%3B%20CouchDB&amp;linkurl=http%3A%2F%2Ftechmix.net%2Fblog%2F2008%2F09%2F24%2Fdjango-mod-python-couchdb%2F"><img src="http://techmix.net/blog/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://techmix.net/blog/2008/09/24/django-mod-python-couchdb/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Erlang, CouchDB on Slackware 12.1</title>
		<link>http://techmix.net/blog/2008/09/18/erlang-couchdb-on-slackware-121/</link>
		<comments>http://techmix.net/blog/2008/09/18/erlang-couchdb-on-slackware-121/#comments</comments>
		<pubDate>Thu, 18 Sep 2008 04:36:35 +0000</pubDate>
		<dc:creator>number.0</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[erlang]]></category>

		<category><![CDATA[slackware]]></category>

		<guid isPermaLink="false">http://techmix.net/blog/?p=18</guid>
		<description><![CDATA[Time to play with CouchDB, but wait &#8230;
I need to compile Erlang and it came out unsuccessful with error
obj/i686-pc-linux-gnu/opt/smp/hipe_x86_signal.o: In function
`sigaction&#8217;: hipe_x86_signal.c:(.text+0xa9): undefined reference to
`INIT&#8217; hipe_x86_signal.c:(.text+0xff): undefined reference to
`__next_sigaction&#8217; obj/i686-pc-linux-gnu/opt/smp/hipe_x86_signal.o: In
function `hipe_signal_init&#8217;:
hipe_x86_signal.c:(.text+0&#215;118): undefined reference to `INIT&#8217;
hipe_x86_signal.c:(.text+0&#215;148): undefined reference to `INIT&#8217;
hipe_x86_signal.c:(.text+0&#215;163): undefined reference to
`__next_sigaction&#8217; hipe_x86_signal.c:(.text+0&#215;190): undefined reference
to `INIT&#8217; hipe_x86_signal.c:(.text+0&#215;1d9): undefined reference to
`__next_sigaction&#8217; collect2: ld returned 1 [...]]]></description>
			<content:encoded><![CDATA[<p>Time to play with CouchDB, but wait &#8230;<br />
I need to compile Erlang and it came out unsuccessful with error</p>
<blockquote><p>obj/i686-pc-linux-gnu/opt/smp/hipe_x86_signal.o: In function</p>
<p>`sigaction&#8217;: hipe_x86_signal.c:(.text+0xa9): undefined reference to</p>
<p>`INIT&#8217; hipe_x86_signal.c:(.text+0xff): undefined reference to</p>
<p>`__next_sigaction&#8217; obj/i686-pc-linux-gnu/opt/smp/hipe_x86_signal.o: In</p>
<p>function `hipe_signal_init&#8217;:</p>
<p>hipe_x86_signal.c:(.text+0&#215;118): undefined reference to `INIT&#8217;</p>
<p>hipe_x86_signal.c:(.text+0&#215;148): undefined reference to `INIT&#8217;</p>
<p>hipe_x86_signal.c:(.text+0&#215;163): undefined reference to</p>
<p>`__next_sigaction&#8217; hipe_x86_signal.c:(.text+0&#215;190): undefined reference</p>
<p>to `INIT&#8217; hipe_x86_signal.c:(.text+0&#215;1d9): undefined reference to</p>
<p>`__next_sigaction&#8217; collect2: ld returned 1 exit status</p></blockquote>
<p>After looking at <span style="color: #009900;">erts/emulator/hipe/hipe_x86_signal.c</span> , it turned out to be the check for glibc version which should be &gt;=3 &amp;&amp; &lt;=6, and my current glibc is 2.7. So just for it working, I modified the code to check for my glibc version and yaaa&#8230; it worked!!!</p>
<p>CouchDB require ICU to work, so i hooked up linuxpackages and get ICU package, now is the time to build CouchDB package, well I used <a href="http://distro.ibiblio.org/pub/linux/distributions/amigolinux/download/src2pkg/" target="_blank">src2pkg</a> to build my Slackware package.</p>
<h3>Running CouchDB with couchdb user</h3>
<p>As root, do:</p>
<blockquote><p>adduser couchdb<br />
chown -R couchdb /usr/var/lib/couchdb /usr/var/log/couchdb<br />
ln -s /usr/etc/rc.d/couchdb /etc/rc.d/rc.couchdb<br />
/etc/rc.d/rc.couchdb start</p></blockquote>
<p>Everything went smoothly &#8230; time to relaxxxx !!!</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=Tech%20Mix&amp;siteurl=http%3A%2F%2Ftechmix.net%2Fblog%2F&amp;linkname=Erlang%2C%20CouchDB%20on%20Slackware%2012.1&amp;linkurl=http%3A%2F%2Ftechmix.net%2Fblog%2F2008%2F09%2F18%2Ferlang-couchdb-on-slackware-121%2F"><img src="http://techmix.net/blog/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://techmix.net/blog/2008/09/18/erlang-couchdb-on-slackware-121/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
