<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>saunzal.org</title>
	
	<link>http://saunzal.org</link>
	<description>mir nazim on technology, religion, politics and society</description>
	<pubDate>Tue, 06 Jan 2009 18:16:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/mirnazim" type="application/rss+xml" /><item>
		<title>Are your servers fast enough?</title>
		<link>http://feeds.feedburner.com/~r/mirnazim/~3/504513552/are-your-servers-fast-enough.html</link>
		<comments>http://saunzal.org/2009/01/are-your-servers-fast-enough.html#comments</comments>
		<pubDate>Tue, 06 Jan 2009 18:16:38 +0000</pubDate>
		<dc:creator>Mir Nazim</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://saunzal.org/?p=229</guid>
		<description><![CDATA[If not, then you must go through this post by Dries. It may be an eye opener for most of us.]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">If not, then you must go through this post by <a href="http://buytaert.net/faster-is-beter" title="Faster is better">Dries</a>. It may be an eye opener for most of us.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/mirnazim?a=3tAgFh.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=3tAgFh.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=q6a2Xb.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=q6a2Xb.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=0DuaqD.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=0DuaqD.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=3qwebE.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=3qwebE.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=XfPfxL.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=XfPfxL.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://saunzal.org/2009/01/are-your-servers-fast-enough.html/feed</wfw:commentRss>
		<feedburner:origLink>http://saunzal.org/2009/01/are-your-servers-fast-enough.html</feedburner:origLink></item>
		<item>
		<title>DEMOTIX.com using Drupal</title>
		<link>http://feeds.feedburner.com/~r/mirnazim/~3/502813856/demotixcom-using-drupal.html</link>
		<comments>http://saunzal.org/2009/01/demotixcom-using-drupal.html#comments</comments>
		<pubDate>Sun, 04 Jan 2009 21:25:09 +0000</pubDate>
		<dc:creator>Mir Nazim</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[drupal site]]></category>

		<category><![CDATA[news publishing]]></category>

		<guid isPermaLink="false">http://saunzal.org/?p=212</guid>
		<description><![CDATA[DEMOTIX, built using Drupal, is a collaborative news publishing portal where qnyone who registers can write a story, publish pphotos and upload videos.

]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first"><a href="http://demotix.com" title="http://demotix.com"><span class="caps">DEMOTIX</span></a>, built using <a href="http://drupal.org">Drupal</a>, is a collaborative news publishing portal where qnyone who registers can write a story, publish pphotos and upload videos.<br />
<span id="more-212"></span><br />
<img src="http://saunzal.org/wp-content/uploads/2009/01/demotix.png" alt="Demotix | The Street Wire" height="720" width="500" /></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/mirnazim?a=0rswXf.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=0rswXf.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=7XCUWl.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=7XCUWl.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=Bh8K71.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=Bh8K71.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=Ty96sJ.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=Ty96sJ.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=nirPLB.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=nirPLB.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://saunzal.org/2009/01/demotixcom-using-drupal.html/feed</wfw:commentRss>
		<feedburner:origLink>http://saunzal.org/2009/01/demotixcom-using-drupal.html</feedburner:origLink></item>
		<item>
		<title>DrupalMOTW: Media Mover</title>
		<link>http://feeds.feedburner.com/~r/mirnazim/~3/500135640/drupalmotw-media-mover.html</link>
		<comments>http://saunzal.org/2008/10/drupalmotw-media-mover.html#comments</comments>
		<pubDate>Tue, 28 Oct 2008 19:07:05 +0000</pubDate>
		<dc:creator>Mir Nazim</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[drupal-planet]]></category>

		<category><![CDATA[drupal-talk]]></category>

		<category><![CDATA[DrupalMOTW]]></category>

		<category><![CDATA[media harvesting]]></category>

		<category><![CDATA[media mover]]></category>

		<category><![CDATA[transcoding]]></category>

		<guid isPermaLink="false">http://saunzal.org/?p=173</guid>
		<description><![CDATA[The Drupal module of this week is The Media Mover.

From Media Mover project page

Media Mover is a set of modules which allows website administrators to easily create complex file conversion processes.

Media Mover is essentially a system for Drupal that is targeted at file harvesting/conversion/storage or all three. 



Just like the harvesting the crops, harvesting, in [...]]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">The Drupal module of this week is <a href="http://drupal.org/project/media_mover"><em>The Media Mover</em></a>.</p>

<p>From <a href="http://drupal.org/project/media_mover"><em>Media Mover project page</em></a></p>

<blockquote style="padding-right:1em"><p>Media Mover is a set of modules which allows website administrators to easily create complex file conversion processes.</p></blockquote>

<p>Media Mover is essentially a system for Drupal that is targeted at file harvesting/conversion/storage or all three. </p>

<p><span id="more-173"></span></p>

<p>Just like the harvesting the crops, harvesting, in this context, means collecting files from certain location - be it <span class="caps">FTP, </span>email or a filesystem location - and processing them as per the set configurations to achieve a certain result.</p>

<p>For example, Media Mover can scan an <span class="caps">FTP </span>location for files, bring over the files and attach them to existing nodes or create new nodes based on the configurations.</p>

<p>At core of the module is media_mover_api module that acts as the handler for the above stated process. It defines four types of behaviors for how modules interact with a file: harvest, process, storage, and complete. A configuration can be made up of multiple modules which define different kinds of harvest, process, storage, and complete behaviors. For example, you can have two different processes that creates high and low bandwidth versions of a video file.</p>

<p>Media Mover allows administrators to setup multiple configurations that are responsible for different kinds of media handling. You can set up as many different kinds of configurations as the each configuration is distinct.</p>

<p>Media Mover <span class="caps">API </span>also allows creation of modules that can use this <span class="caps">API </span>to create your custom harvest/process/store functionality.</p>

<p>Media Mover supports follow operations in the core module:</p>


<ul>
<li>Harvest: get attachments from an email account</li>
<li>Harvest: get attached files from nodes of X type</li>
<li>Harvest: get previously harvested files</li>
<li>Harvest: get a file path from a <span class="caps">CCK </span>field</li>
<li>Harvest: get files from a <span class="caps">FTP </span>server</li>
<li>Process: create a thumbnail of a video file with ffmpeg</li>
<li>Process: transcode video files into web friendly (and other) formats</li>
<li>Process: strip <span class="caps">EXIF </span>data from images (MM <span class="caps">EXIF</span>)</li>
<li>Process: add meta data to a <span class="caps">FLV </span>file (MM <span class="caps">FLVT</span>ool2)</li>
<li>Storage: move a file to Amazon&#8217;s S3 service (this also operates as a completion function)</li>
<li>Storage: attach file back to node</li>
<li>Storage: save file and related data as a node</li>
<li>Storage: add a file path to a <span class="caps">CCK </span>field</li>
<li>Storage: save file as an Asset</li>
</ul>



<p>Media Mover is currently available only for Drupal 5.x. According to its project page, Drupal 6.x support is in development and soon a development version should be expected.</p>

<p>In the mean time, take a look at its <a href="http://drupal.org/node/276134">Media Mover <span class="caps">API </span>docs</a>(if you are a developer). I have not covered its usage because its UI is straight forward and should not be difficult for those who have basic experience with configuring Drupal.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/mirnazim?a=UHMDuy.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=UHMDuy.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=itKnbA.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=itKnbA.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=bCoaio.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=bCoaio.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=ywIbCT.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=ywIbCT.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=ZrFNvc.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=ZrFNvc.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://saunzal.org/2008/10/drupalmotw-media-mover.html/feed</wfw:commentRss>
		<feedburner:origLink>http://saunzal.org/2008/10/drupalmotw-media-mover.html</feedburner:origLink></item>
		<item>
		<title>DrupalMOTW: Drush</title>
		<link>http://feeds.feedburner.com/~r/mirnazim/~3/500135641/drupalmotw-drush.html</link>
		<comments>http://saunzal.org/2008/08/drupalmotw-drush.html#comments</comments>
		<pubDate>Fri, 29 Aug 2008 17:23:36 +0000</pubDate>
		<dc:creator>Mir Nazim</dc:creator>
		
		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[drupal-planet]]></category>

		<category><![CDATA[drupal-talk]]></category>

		<category><![CDATA[drush]]></category>

		<guid isPermaLink="false">http://saunzal.org/?p=164</guid>
		<description><![CDATA[The Module Of This Week  is The Mighty Drush.

Since this is the first post in DrupalMOTW series, I could not think of a better module than Drush. Drush has been making my life easier for past 6 months and I must confess that I have fell in love with this module and I am [...]]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">The Module Of This Week  is The Mighty <a href="http://drupal.org/project/drush" title="Drush">Drush</a>.</p>

<p>Since this is the first post in <a href="http://saunzal.org/posts/announcing-drupal-module-of-the-week-drupalmotw.html">DrupalMOTW series</a>, I could not think of a better module than Drush. Drush has been making my life easier for past 6 months and I must confess that I have fell in love with this module and I am sure you will also fall in love like me(with Drush)</p>

<p>From <a href="http://drupal.org/project/drush">Drush project page</a>:</p>

<blockquote style="padding-right:1em"><p>drush is a command line shell and Unix scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend most of our working hours hacking away at the command prompt.</p></blockquote>

<p>Let&#8217;s take a look at what Drush provides.<br />
<span id="more-164"></span></p>

<p><em>Beyond this point it is assumed that Drush is installed. I am not going to cover installation of Drush as it is very straight forward, like any other Drupal module. Download, Extract, Enable and you are ready.</em></p>

<p>Drush comes bundled with a couple of modules. </p>


<ul>
<li><em><strong>Drush</strong></em><br />
This is the core module that provides the base for other Drush modules to build on top of.</li>
<li><em><strong>Drush Package Manager</strong></em><br />
Drush package manager allows you to install and update modules from the command line. However, this module does not have the capability to download the modules in specific location. You require package handlers for that purpose. Drush bundles two package handlers.</li>
<li><em><strong>Drush Package Manager <span class="caps">CVS </span>support</strong></em></li>
<li><em><strong>Drush Package Manager wget support</strong></em><br />
These two packages provide the actual support for downloading the modules. if you are using wget support then it will download the latest released packages using wget(wget is a command line download manager and comes installed with most Unix/Linux flavours) and using <span class="caps">CVS </span>support, that will checkout the modules from their respective repositories. I generally prefer using <span class="caps">CVS </span>handle,. because with <span class="caps">CVS</span> I do not have to wait for package releases to get important updates.</li>
<li><em><strong>Drush Package Manager <span class="caps">SVN </span>support</strong></em><br />
As the name might suggest, this module is not exactly a package handler like <span class="caps">CVS </span>and wget versions. This adds support for synchronizing and committing the newly installed/updated modules into svn repository of the project.</li>
<li><em><strong>Drush <span class="caps">SQL</span> Commands</strong></em><br />
Provides several tools for database query and management. </li>
</ul>




<ul>
<li><em><strong>Drush toolbox</strong></em><br />
Provides several tools that are aimed at site administrators and developers. </li>
</ul>




<ul>
<li><em><strong>Drush SimpleTest Runner</strong></em><br />
It runs unit tests on your drupal install.</li>
</ul>



<h4>Using Drush</h4>

<p>While single drush install can be used to administer multiple Drupal sites, I generally prefer using separate drush installs for each drupal project I am working on. After installing drush, I generally create a link to drush command line script to the root of my drupal project directory</p>


<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># something</span>
$ <span style="color: #7a0874; font-weight: bold;">cd</span> ~<span style="color: #000000; font-weight: bold;">/</span>projects<span style="color: #000000; font-weight: bold;">/</span>drupalproject.com
$ <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> sites<span style="color: #000000; font-weight: bold;">/</span>all<span style="color: #000000; font-weight: bold;">/</span>modules<span style="color: #000000; font-weight: bold;">/</span>drush.php .<span style="color: #000000; font-weight: bold;">/</span>drush</pre></div></div>




<p>Now when you run ./drush and you will get:</p>


<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">$ .<span style="color: #000000; font-weight: bold;">/</span>drush <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #7a0874; font-weight: bold;">command</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
Usage: drush.php <span style="color: #7a0874; font-weight: bold;">&#91;</span>options<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&lt;</span><span style="color: #7a0874; font-weight: bold;">command</span><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;</span><span style="color: #7a0874; font-weight: bold;">command</span><span style="color: #000000; font-weight: bold;">&gt;</span> ...
&nbsp;
Options: 
  <span style="color: #660033;">-r</span> <span style="color: #000000; font-weight: bold;">&lt;</span>path<span style="color: #000000; font-weight: bold;">&gt;</span>, --<span style="color: #007800;">root</span>=<span style="color: #000000; font-weight: bold;">&lt;</span>path<span style="color: #000000; font-weight: bold;">&gt;</span>      Drupal root directory to use <span style="color: #7a0874; font-weight: bold;">&#40;</span>default: current directory<span style="color: #7a0874; font-weight: bold;">&#41;</span>            
  <span style="color: #660033;">-l</span> <span style="color: #000000; font-weight: bold;">&lt;</span>uri<span style="color: #000000; font-weight: bold;">&gt;</span> , --<span style="color: #007800;">uri</span>=<span style="color: #000000; font-weight: bold;">&lt;</span>uri<span style="color: #000000; font-weight: bold;">&gt;</span>        URI of the drupal site to use <span style="color: #7a0874; font-weight: bold;">&#40;</span>only needed <span style="color: #000000; font-weight: bold;">in</span> multisite environments<span style="color: #7a0874; font-weight: bold;">&#41;</span>
  -v, <span style="color: #660033;">--verbose</span>                 Display all available output                                         
  -y, <span style="color: #660033;">--yes</span>                     Assume <span style="color: #ff0000;">'yes'</span> <span style="color: #c20cb9; font-weight: bold;">as</span> answer to all prompts                                
  -s, <span style="color: #660033;">--simulate</span>                Simulate all relevant actions <span style="color: #7a0874; font-weight: bold;">&#40;</span>don not actually change the system<span style="color: #7a0874; font-weight: bold;">&#41;</span>     
  -c, <span style="color: #660033;">--config</span>                  Specify a config <span style="color: #c20cb9; font-weight: bold;">file</span> to use. See example.drushrc.php                
&nbsp;
Commands: 
  <span style="color: #7a0874; font-weight: bold;">help</span>                  View help. Run <span style="color: #ff0000;">&quot;drush help [command]&quot;</span> to view command-specific help.
  pm <span style="color: #c20cb9; font-weight: bold;">install</span>            Install one or <span style="color: #c20cb9; font-weight: bold;">more</span> modules                                         
  pm refresh            Refresh update status information                                   
  pm update             Update your modules                                                 
  pm info               Release information <span style="color: #000000; font-weight: bold;">for</span> a module                                    
  sql url               Print database connection details.                                  
  sql version server    Print database server version number.                               
  sql version client    Print database client library version number.                       
  sql dump              Exports the Drupal DB <span style="color: #c20cb9; font-weight: bold;">as</span> SQL using mysqldump or pg_dump.            
  sql query             Execute a query against the site database.                          
  sql load              Copy <span style="color: #7a0874; font-weight: bold;">source</span> database to target database.                            
  cache <span style="color: #c20cb9; font-weight: bold;">clear</span>           Clear all caches                                                    
  cron                  Run cron                                                            
  watchdog show         Show the most recent watchdog log messages                          
  watchdog delete       Delete all messages of a certain <span style="color: #7a0874; font-weight: bold;">type</span>                               
  <span style="color: #c20cb9; font-weight: bold;">sync</span>                  Rsync the Drupal <span style="color: #c20cb9; font-weight: bold;">tree</span> to<span style="color: #000000; font-weight: bold;">/</span>from another server using <span style="color: #c20cb9; font-weight: bold;">ssh</span></pre></div></div>



<p>As you can see, running drush without arguments will list out possible commands you can run with drush. </p>

<p><em><strong>Drush package manager</strong></em><br />
Drush package manager can be used to install and update the drupal modules automatically. As of writing, drush only support installing and updating modules.</p>


<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Install a module</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush pm <span style="color: #c20cb9; font-weight: bold;">install</span> project
&nbsp;
<span style="color: #666666; font-style: italic;"># Install a specific version of module </span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush pm <span style="color: #c20cb9; font-weight: bold;">install</span>  project-1.x-dev
&nbsp;
<span style="color: #666666; font-style: italic;">#install multiple mdoules at once</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush  pm <span style="color: #c20cb9; font-weight: bold;">install</span> project_1 project_2 project_3</pre></div></div>




<p><em>Note that drush package manager will only download or checkout the code from http://drupal.org. It will not enable the module/s. You will have to do them yourself from admin/build/modules</em></p>

<p>And here is how to update modules to latest version</p>


<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Refresh the modules update status</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush pm refresh
Refreshing update status information ...
Done.
&nbsp;
<span style="color: #666666; font-style: italic;"># And now update</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush pm update
Update information <span style="color: #c20cb9; font-weight: bold;">last</span> refreshed: Fri, 08<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">29</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2008</span> - <span style="color: #000000;">16</span>:04
&nbsp;
Update status information on all installed and enabled Drupal modules:
  Name                          Installed version       Recommended version     Status
  Drupal Administration Menu    6.x-<span style="color: #000000;">1.0</span>                 6.x-<span style="color: #000000;">1.0</span>                 OK                       
  Drupal                        <span style="color: #000000;">6.3</span>                     <span style="color: #000000;">6.4</span>                     SECURITY UPDATE available
  Drush                         6.x-<span style="color: #000000;">1.0</span>                 6.x-<span style="color: #000000;">1.0</span>                 OK                       
&nbsp;
NOTE: An update <span style="color: #000000; font-weight: bold;">for</span> the Drupal core is available. 
Drupal itself can<span style="color: #ff0000;">'t yet be updated by this tool. Please update Drupal manually.
&nbsp;
drush: No updates available.
&nbsp;
$</span></pre></div></div>




<p>As you can see from the above examples drush has reported that I two modules are installed and and I have <span class="caps">SECURITY UPDATE </span>available for Drupal core. If updates are available it will report accordingly and update the stuff.</p>

<p><em><span class="caps">NOTE</span>: drush will not update your drupal core.</em></p>

<p>Now lets take a look at what Drush <span class="caps">SQL</span> Command module provides us. Code speaks more than words, therefore code below is self explainatory</p>


<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># get version of SQL server</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush sql version server
5.0.51a-3ubuntu5.1
&nbsp;
<span style="color: #666666; font-style: italic;"># get version of SQL client</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush sql version clinet
5.0.51a
&nbsp;
<span style="color: #666666; font-style: italic;"># Get the database connection string</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush sql url
mysqli:<span style="color: #000000; font-weight: bold;">//</span>username:password:mysql.example.com<span style="color: #000000; font-weight: bold;">/</span>database-name
&nbsp;
<span style="color: #666666; font-style: italic;"># dump the database</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush sql dump <span style="color: #000000; font-weight: bold;">&gt;</span> mydatabase.sql
&nbsp;
<span style="color: #666666; font-style: italic;"># Run an SQL query</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush sql query <span style="color: #ff0000;">&quot;SELECT nid, title, status, created FROM node WHERE type = 'page'&quot;</span>
nid     title   status  created
<span style="color: #000000;">1</span>       About   <span style="color: #000000;">1</span>       <span style="color: #000000;">1219049818</span>
<span style="color: #000000;">3</span>       License <span style="color: #000000;">1</span>       <span style="color: #000000;">1219059141</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Clear the cache related tables</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush cache <span style="color: #c20cb9; font-weight: bold;">clear</span>
Cache cleared.
&nbsp;
<span style="color: #666666; font-style: italic;"># Show the watchdog entries (removed some entries due to security/NDA reason)</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush watchdog show
  Date              	Severity	Type   	Message                               	User     
  08<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">29</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2008</span> - <span style="color: #000000;">13</span>:<span style="color: #000000;">43</span>	notice  	cron   	Cron run completed <span style="color: #7a0874; font-weight: bold;">&#40;</span>via poormanscron<span style="color: #7a0874; font-weight: bold;">&#41;</span>.	Mir Nazim
  08<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">29</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2008</span> - <span style="color: #000000;">13</span>:<span style="color: #000000;">46</span>	notice  	content	blog_post: updated title.                	Mir Nazim
  08<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">29</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2008</span> - <span style="color: #000000;">14</span>:<span style="color: #000000;">43</span>	notice  	cron   	Cron run completed <span style="color: #7a0874; font-weight: bold;">&#40;</span>via poormanscron<span style="color: #7a0874; font-weight: bold;">&#41;</span>.	Mir Nazim
&nbsp;
<span style="color: #666666; font-style: italic;"># Delete all watchdog messages</span>
$ .<span style="color: #000000; font-weight: bold;">/</span>drush watchdog delete <span style="color: #7a0874; font-weight: bold;">&#91;</span>all|error|notice<span style="color: #7a0874; font-weight: bold;">&#93;</span>  <span style="color: #666666; font-style: italic;"># what ever your message type is</span></pre></div></div>




<p>As you you might have understood, Drush is truly an amazing tool and a must have for any serious Drupal developer. You can also extend drush and add your custom commands. It&#8217;s as far as implementing a few hooks.</p>

<p>While this post could use another section about extending Drush, I am leaving that out for now because this has already turned into a looooooooong post and I do not want to bore you further.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/mirnazim?a=6NLKwj.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=6NLKwj.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=W92QJ7.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=W92QJ7.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=Hj8T1f.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=Hj8T1f.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=TwebIg.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=TwebIg.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=WJorQU.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=WJorQU.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://saunzal.org/2008/08/drupalmotw-drush.html/feed</wfw:commentRss>
		<feedburner:origLink>http://saunzal.org/2008/08/drupalmotw-drush.html</feedburner:origLink></item>
		<item>
		<title>Announcing Drupal Module of the Week - DrupalMOTW</title>
		<link>http://feeds.feedburner.com/~r/mirnazim/~3/500135642/announcing-drupal-module-of-the-week-drupalmotw.html</link>
		<comments>http://saunzal.org/2008/08/announcing-drupal-module-of-the-week-drupalmotw.html#comments</comments>
		<pubDate>Fri, 29 Aug 2008 07:27:38 +0000</pubDate>
		<dc:creator>Mir Nazim</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[drupal-planet]]></category>

		<category><![CDATA[drupal-talk]]></category>

		<guid isPermaLink="false">13 at http://saunzal.org</guid>
		<description><![CDATA[As some of you might be knowing that I am also a Python programmer, in addition to being a PHP/Drupal developer. For almost past 1 year I have been hooked on to PyMOTW by Doug Hellmann.

Based on the similar idea I starting a weekly blog series about the modules available to be used with our [...]]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">As some of you might be knowing that I am also a <a href="http://www.python.org">Python</a> programmer, in addition to being a <span class="caps">PHP</span>/Drupal developer. For almost past 1 year I have been hooked on to <a href="http://www.doughellmann.com/projects/PyMOTW/">PyMOTW</a> by <a href="http://www.doughellmann.com/">Doug Hellmann</a>.</p>

<p>Based on the similar idea I starting a weekly blog series about the modules available to be used with our beloved <a href="http://www.drupal.org/">Drupal</a>. Now it may not be exactly weekly, but I will surely try to cover a module every week for a near foreseeable future.</p>

<p><em>Stay tuned</em></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/mirnazim?a=U4gMus.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=U4gMus.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=K3F0Nz.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=K3F0Nz.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=vo8NZC.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=vo8NZC.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=E4DMtn.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=E4DMtn.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=7g7Pdi.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=7g7Pdi.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://saunzal.org/2008/08/announcing-drupal-module-of-the-week-drupalmotw.html/feed</wfw:commentRss>
		<feedburner:origLink>http://saunzal.org/2008/08/announcing-drupal-module-of-the-week-drupalmotw.html</feedburner:origLink></item>
		<item>
		<title>$_GET can get you in trouble</title>
		<link>http://feeds.feedburner.com/~r/mirnazim/~3/500135643/_get-can-get-you-in-trouble.html</link>
		<comments>http://saunzal.org/2008/08/_get-can-get-you-in-trouble.html#comments</comments>
		<pubDate>Thu, 28 Aug 2008 09:42:05 +0000</pubDate>
		<dc:creator>Mir Nazim</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[directory traversal attack]]></category>

		<category><![CDATA[Drupal]]></category>

		<category><![CDATA[drupal-talk]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[security]]></category>

		<category><![CDATA[threat]]></category>

		<guid isPermaLink="false">12 at http://saunzal.org</guid>
		<description><![CDATA[Consider a scenario that a file is requested and you have to display content of the requested file in the browser. Look at the following code example:


&#60;?php
// File Name: print_file_contents.php
$file = $_GET&#91;'filename'&#93;;   //get the file name from query string
print file_get_contents&#40;$file&#41;;   //print the contents of the file
?&#62;



If you have worked with PHP [...]]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Consider a scenario that a file is requested and you have to display content of the requested file in the browser. Look at the following code example:</p>


<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// File Name: print_file_contents.php</span>
<span style="color: #000088;">$file</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="">'filename'</span><span style="color: #009900;">&#93;</span>;   <span style="color: #666666; font-style: italic;">//get the file name from query string</span>
<span style="color: #990000;">print</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$file</span><span style="color: #009900;">&#41;</span>;   <span style="color: #666666; font-style: italic;">//print the contents of the file</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>



<p>If you have worked with <span class="caps">PHP </span>for couple of years you must pick up what the problem is.  For those are new with <acronym title="and some morons">PHP</acronym> let&#8217;s look at some examples.</p>

<p><span id="more-87"></span></p>

<p>Assuming this file is served from <code>www.example.com</code>. Now if you are using it to display some html or text files looks like there will not be any problem.</p>


<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># No problem with following URL.</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.example.com<span style="color: #000000; font-weight: bold;">/</span>print_file_contents.php?<span style="color: #007800;">filename</span>=somefile.txt
&nbsp;
<span style="color: #666666; font-style: italic;"># Again no problem</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.example.com<span style="color: #000000; font-weight: bold;">/</span>print_file_contents.php?<span style="color: #007800;">filename</span>=somefile.html</pre></div></div>




<p>What if some smart ass decides to be a bit adventurous and tries something like this:</p>


<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;">http:<span style="color: #000000; font-weight: bold;">//</span>www.example.com<span style="color: #000000; font-weight: bold;">/</span>print_file_contents.php?<span style="color: #007800;">filename</span>=index.php</pre></div></div>




<p>This will expose the code in <code>index.php</code>. Now he can see all the code that you vomited out in <code>index.php</code>. <em>You think you are screwed now. No, not yet!</em>. Given that now your <code>index.php</code> is publicly visible which actually means whole of your application is visible to everyone. Even someone with a feeble brain can figure out what files you are including in <code>index.php</code> and paths to them and by simply passing the path of whatever code file he wishes, into a $_GET variable. Even your database credentials are open and accessible. <em><strong><span class="caps">NOW YOU ARE REALLY SCREWED</span></strong></em>.</p>

<p>Now, you may ask how to prevent it.  Consider the same problem, but slightly different code.</p>


<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="">'FILES_PATH'</span><span style="color: #339933;">,</span> <span style="">'/var/www/myapp/files/'</span><span style="color: #009900;">&#41;</span>;   <span style="color: #666666; font-style: italic;">//define a constant with path to files</span>
<span style="color: #000088;">$file</span>  <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="">'filename'</span><span style="color: #009900;">&#93;</span>;   <span style="color: #666666; font-style: italic;">//get the file name from query string</span>
<span style="color: #000088;">$path_to_file</span> <span style="color: #339933;">=</span> FILES_PATH <span style="color: #339933;">.</span> <span style="color: #000088;">$file</span>   <span style="color: #666666; font-style: italic;">//create a valid path</span>
<span style="color: #990000;">print</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$path_to_file</span><span style="color: #009900;">&#41;</span>;    <span style="color: #666666; font-style: italic;">//print the file contents to browser</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>




<p>You might think the problem is gone and you are secure now. No you are wrong again. The same problem still exists. If someone requests some like:</p>


<div class="wp_syntax"><div class="code"><pre class="bash bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Got you again</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.example.com<span style="color: #000000; font-weight: bold;">/</span>print_file_contents.php?<span style="color: #007800;">filename</span>=..<span style="color: #000000; font-weight: bold;">/</span>index.php
&nbsp;
<span style="color: #666666; font-style: italic;"># Got you again</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.example.com<span style="color: #000000; font-weight: bold;">/</span>print_file_contents.php?<span style="color: #007800;">filename</span>=..<span style="color: #000000; font-weight: bold;">/</span>index.php
&nbsp;
<span style="color: #666666; font-style: italic;"># Or even worse</span>
http:<span style="color: #000000; font-weight: bold;">//</span>www.example.com<span style="color: #000000; font-weight: bold;">/</span>print_file_contents.php?<span style="color: #007800;">filename</span>=..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>..<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>password
&nbsp;
<span style="color: #666666; font-style: italic;"># please node that original unix password file is 'passwd' and not 'password'.</span>
<span style="color: #666666; font-style: italic;"># For some reasons PHP does not allow mentioning the original path to this file in POST data.</span>
<span style="color: #666666; font-style: italic;"># May be this is for security reasons.</span></pre></div></div>





<p>Such an attack is called <a href="http://en.wikipedia.org/wiki/Directory_traversal">Directory Traversal Attack</a>. Directory traversal is trickier to prevent than it might seem. A <em>filter out known bad characters</em> protection strategy is likely to fail.</p>

<p>Enough now, let&#8217;s see how those attacks can be prevented. Here are the some things you must take care of.</p>


<ol>
<li>Relative paths are dangerous. Do not use them and check for them. Remember relative paths are all paths that contain a <b>..</b>, even if it starts with a <em>&#8216;/&#8217;</em>.</li>
<li>Go back to basics. Establish naming conventions and don&#8217;t break them and off course validate the names against the proper naming conventions.</li>
<li>Check if you are accessing the correct path.</li>
<li>Run checks relevant to you application.</li>
</ol>



<p>Following code example demonstrates above checks in a simple way. You may need more serious checking for your production environment.</p>


<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="">'FILES_PATH'</span><span style="color: #339933;">,</span> <span style="">'/var/www/myapp/files/'</span><span style="color: #009900;">&#41;</span>;   <span style="color: #666666; font-style: italic;">//define a constant with path to files</span>
<span style="color: #000088;">$file</span>  <span style="color: #339933;">=</span> <span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="">'filename'</span><span style="color: #009900;">&#93;</span>;   <span style="color: #666666; font-style: italic;">//get the file name from query string</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Check #1: Check for relative paths.</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">strstr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #339933;">,</span> <span style="">'../'</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Na Na Na. Don't Try to be smart&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Check #2: Check for naming conventions. e.g we only allow *.txt files.</span>
<span style="color: #666666; font-style: italic;">// I am just checking the extension. You can use regex, if your's is complex naming convention</span>
<span style="color: #000088;">$ext</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span>;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ext</span> <span style="color: #339933;">!=</span> <span style="">'txt'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #990000;">die</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Woah! you are smart but I am smarter&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$path_to_file</span> <span style="color: #339933;">=</span> FILES_PATH <span style="color: #339933;">.</span> <span style="color: #000088;">$file</span>   <span style="color: #666666; font-style: italic;">//create a valid path</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Check #3: Check if you are accessing the correct path.</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>FILES_PATH <span style="color: #339933;">!=</span> <span style="color: #990000;">dirname</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$path_to_file</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Run away! you have no place here&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// add any additional checks that might be relevant to your application</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// and then finaly</span>
<span style="color: #990000;">print</span> <span style="color: #990000;">file_get_contents</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$path_to_file</span><span style="color: #009900;">&#41;</span>;    <span style="color: #666666; font-style: italic;">//print the file contents to browser</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>




<p>I do not claim that the code is 100% fool proof. <em>NO <span class="caps">CODE EVER</span> IS</em>. But it is better than have a totally unsecured code.</p>

<p>There is one more thing that can be done in this regard. You can <a href="http://en.wikipedia.org/wiki/Chroot">chroot</a> your application, but be careful if the chroot jail is incorrectly created, you are up for ever more surprises(for worse, off course). For example open file descriptors pointing to the files outside the chroot jail.</p>

<p>_IMPORTANT: I hope you understand that above problems can also arise if you where including the files using <?php include_once ?> or <?php require_once?> instead of output to the browser._</p>

<h4>Note for Drupal developers</h4>

<p>Since I am a Drupal developer myself, I think I must point out how to be careful with including files when developing for Drupal, Make sure all of your includes are done using Drupal utility functions like:</p>


<div class="wp_syntax"><div class="code"><pre class="php php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
drupal_get_path<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
drupal_add_js<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
drupal_add_css<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>




<p>This will save you lot of headache later on.</p>

<p><hr /><br />
<img src="http://blog.saunzal.org/wp-content/uploads/2008/10/raashidbhat-150x150.jpg" alt="Raashid Bhat" class="size-thumbnail wp-image-132 left" style="float:left;margin:5px 50px 5px 5px;" /> <em><span class="caps">DISCLAIMER</span>: I would love to say that all the stuff presented in this post is the production of my brain, but the truth is no, it not all mine. I may have put the text in here but most of the content presented here is a result of an IM session with one of my coolest buddy, Raashid Bhat. He is simply a gem. Knows security issues inside out. Loves tearing apart systems for learning and he is among the best guys I have known. He is still in his high school and aspires to like <a href="http://en.wikipedia.org/wiki/Gordon_Lyon">Gordon Lyon</a>. If you want to get in touch with him, You can drop him a note/comment on his email raashidbhatt {at} gmail {dot} com. You can see his cool picture on the left.</em></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/mirnazim?a=zi9BGM.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=zi9BGM.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=4juE8G.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=4juE8G.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=gRwdQc.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=gRwdQc.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=gOke48.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=gOke48.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=AJJn8N.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=AJJn8N.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://saunzal.org/2008/08/_get-can-get-you-in-trouble.html/feed</wfw:commentRss>
		<feedburner:origLink>http://saunzal.org/2008/08/_get-can-get-you-in-trouble.html</feedburner:origLink></item>
		<item>
		<title>Mauj Kashir, Abaad Roonzin, Shadaab Roozin - Mauj Kashmir</title>
		<link>http://feeds.feedburner.com/~r/mirnazim/~3/500135644/mauj-kashir-abaad-roonzin-shadaab-roozin-mauj-kashmir.html</link>
		<comments>http://saunzal.org/2008/08/mauj-kashir-abaad-roonzin-shadaab-roozin-mauj-kashmir.html#comments</comments>
		<pubDate>Thu, 28 Aug 2008 06:41:57 +0000</pubDate>
		<dc:creator>Mir Nazim</dc:creator>
		
		<category><![CDATA[Kashmir]]></category>

		<category><![CDATA[Current Affairs]]></category>

		<category><![CDATA[freedom]]></category>

		<category><![CDATA[india]]></category>

		<category><![CDATA[occupation]]></category>

		<guid isPermaLink="false">11 at http://saunzal.org</guid>
		<description><![CDATA[If you are not a Kashmiri, you might not understand what&#8217;s the gibberish language used in the title of this post. It is a line from a popular Kashmiri song, sung by Shameema Azaad, wife of former Chief Minister of India Adminestered Kashmir. It means:

Mother Kashmir, may it be remain prosperous, may it remain happy [...]]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">If you are not a Kashmiri, you might not understand what&#8217;s the gibberish language used in the title of this post. It is a line from a popular Kashmiri song, sung by Shameema Azaad, wife of former Chief Minister of India Adminestered Kashmir. It means:</p>

<blockquote style="padding-right:1em"><p>Mother Kashmir, may it be remain prosperous, may it remain happy - Mother Kashmir.</p></blockquote>

<p>I say <em><strong>What The Fuck</strong></em>.</p>

<p>Suppression and subjugation of Kashmir and Kashmir people is still on. People being killed unprovoked. For past few days, Indian Forces have been killing people by forcing entry in our homes, not even sparing women, infants and children.</p>

<p>And  The Blind Indian Media or <a href="http://kashmir.wordpress.com/?s=blindia">Blindia</a> has simple shut its eyes on Kashmir.<br />
<span id="more-86"></span><br />
Three civilians were killed and at least 50 others injured when Police and paramilitary <span class="caps">CRPF </span>troopers fired upon the protesters in different parts of the Valley yesterday, witnesses and reports said.&#8221;(read the full story on GK)&#8221;:http://www.greaterkashmir.com/full_story.asp?Date=28_8_2008&amp;ItemID=10&amp;Cat=1. This number definitely goes higher when we take in account the death in the hospital due to bullet injuries.</p>

<p>Even hospitals are not spared. Residents of Handwara township in north Kashmir on Wednesday said that Indian  paramilitary <span class="caps">CRPF </span>troopers and policemen of firing tear smoke canisters inside an operation theatre in the Sub district hospital Handwara, when a civilian hit by a bullet of the soldiers during a demonstration was being operated upon by doctors. <a href="http://www.greaterkashmir.com/full_story.asp?Date=28_8_2008&amp;ItemID=9&amp;Cat=1">(read the full story on GK)</a>.</p>

<p>Strong resentment is brewing against the troopers of paramilitary <span class="caps">CRPF </span>for allegedly harassing the inhabitants and damaging their property during curfew in Habba Kadal locality of Shehr-e-Khas locality on Wednesday. <a href="http://www.greaterkashmir.com/full_story.asp?Date=28_8_2008&amp;ItemID=7&amp;cat=1">(read the full story on GK)</a>.</p>

<p>And during all this time fourth pillar of democracy has been simply shattered to un-assemblable peices <a href="http://www.greaterkashmir.com/full_story.asp?Date=28_8_2008&amp;ItemID=12&amp;cat=1">(read the full story on GK)</a>.</p>

<p>Yesterday, United Nations Office of the High Commissioner for Human Rights (UN-OHCHR)  voiced its concern about the recent protests in Kashmir that have led to civilian casualties and restrictions to the right to freedom of assembly and expression.</p>

<p><span class="caps">OHCHR</span> Spokesman in Genev, noted in a statement:</p>

<blockquote style="padding-right:1em"><p>&#8220;OHCHR calls on the Indian authorities and in particular security forces to respect the right to freedom of assembly and expression, and comply with international human rights principles in controlling the demonstrators,&#8221;<br />
&#8220;The use of force should be proportionate to the threat posed and firearms must only be used in dispersing a violent assembly to protect individuals against an imminent threat of death or serious injury&#8221; <a href="http://www.greaterkashmir.com/full_story.asp?Date=28_8_2008&amp;ItemID=7&amp;cat=1">(read the full story on GK)</a>.</p></blockquote>

<p>Mr. Spokesman has forgotten that Indian Forces are here with an open license to kill us from the GoI. These murders are being awarded with promotion, medals and honors. Kill one Kashmir, Get a medal, Kill two, get a promotion, Kill 10 get <a href="http://en.wikipedia.org/wiki/Param_Vir_Chakra">Param Veer Chakra</a>.</p>

<p>I say, <em><strong>We give a damn shit! Kill One or Kill All. We will still fight and struggle and not give up our way. The revolution is here. You can&#8217;t escape it.</strong></em></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/mirnazim?a=GNwIyD.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=GNwIyD.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=vAs9ta.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=vAs9ta.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=5R4Z2v.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=5R4Z2v.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=L9m8GC.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=L9m8GC.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=65nwtg.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=65nwtg.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://saunzal.org/2008/08/mauj-kashir-abaad-roonzin-shadaab-roozin-mauj-kashmir.html/feed</wfw:commentRss>
		<feedburner:origLink>http://saunzal.org/2008/08/mauj-kashir-abaad-roonzin-shadaab-roozin-mauj-kashmir.html</feedburner:origLink></item>
		<item>
		<title>How to make great software</title>
		<link>http://feeds.feedburner.com/~r/mirnazim/~3/500135645/how-to-make-great-software.html</link>
		<comments>http://saunzal.org/2008/08/how-to-make-great-software.html#comments</comments>
		<pubDate>Thu, 28 Aug 2008 04:24:18 +0000</pubDate>
		<dc:creator>Mir Nazim</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">10 at http://saunzal.org</guid>
		<description><![CDATA[Want to develop a killer application. Something that will take the world by storm. To learn how to do it, READ THIS]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Want to develop a killer application. Something that will take the world by storm. To learn how to do it, <a href="http://thedailywtf.com/Articles/When-In-Doubt,-Choose-C.aspx"><span class="caps">READ THIS</span></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/mirnazim?a=pMu1gy.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=pMu1gy.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=D2z3kC.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=D2z3kC.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=ARkaxa.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=ARkaxa.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=DymSRW.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=DymSRW.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=yKQaYM.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=yKQaYM.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://saunzal.org/2008/08/how-to-make-great-software.html/feed</wfw:commentRss>
		<feedburner:origLink>http://saunzal.org/2008/08/how-to-make-great-software.html</feedburner:origLink></item>
		<item>
		<title>Free and Open Source answer to OmniGraffle in making</title>
		<link>http://feeds.feedburner.com/~r/mirnazim/~3/500135646/free-and-open-source-answer-to-omnigraffle-in-making.html</link>
		<comments>http://saunzal.org/2008/08/free-and-open-source-answer-to-omnigraffle-in-making.html#comments</comments>
		<pubDate>Wed, 27 Aug 2008 13:09:31 +0000</pubDate>
		<dc:creator>Mir Nazim</dc:creator>
		
		<category><![CDATA[FOSS]]></category>

		<category><![CDATA[addon]]></category>

		<category><![CDATA[firefox]]></category>

		<category><![CDATA[omni garfle]]></category>

		<category><![CDATA[pencil]]></category>

		<guid isPermaLink="false">9 at http://saunzal.org</guid>
		<description><![CDATA[Great news for all of us guys, who can&#8217;t use OmniGraffle because we want to retain their Linux boxes(did u say widows boxes. baaah). Pencil Project might just be what you have been waiting for.  It can be installed as a firefox addon as well as a stand alone application.

No doubt Pencil bagged  [...]]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first">Great news for all of us guys, who can&#8217;t use <a href="http://en.wikipedia.org/wiki/OmniGraffle">OmniGraffle</a> because we want to retain their Linux boxes(did u say widows boxes. baaah). <a href="http://www.evolus.vn/Pencil/Home.html">Pencil Project</a> might just be what you have been waiting for.  It can be installed as a firefox addon as well as a stand alone application.
<!--break--><br />
No doubt Pencil bagged  <strong>Best New Addon Award</strong> at <a href="http://blog.mozilla.com/extendfirefox/2008/08/21/extend-firefox-3-winners/">Extend Firefox 3 Contents</a></p>

<p>From Penci Project webiste:</p>

<blockquote>
  <p>&#8220;The Pencil Project&#8217;s unique mission is to build a free and open source tool for making diagrams and <span class="caps">GUI </span>prototyping that everyone can use.&#8221;</p>
</blockquote>

<p>Main features include:</p>

<ul>
<li><p>Built-in stencils for diagraming and prototyping</p></li>
<li><p>Multi-page document with background page</p></li>
<li><p>On-screen text editing with rich-text supports</p></li>
<li><p><span class="caps">PNG </span>rasterizing</p></li>
<li><p>Installing user-defined stencils</p></li>
<li><p>Standard drawing operations: aligning, z-ordering, scaling, rotating&#8230;</p></li>
<li><p>Cross-platforms</p></li>
<li><p>Adding external objects
You got to use it to believe it. Check out some real cool <a href="http://www.evolus.vn/Pencil/Screenshots.html">screen shots</a>. A <a href="http://www.evolus.vn/Pencil/UserGuide.html">user guide</a> is OK as of now, but there are a couple of screencasts that are a good start.</p></li>
</ul>

<p>So far its a great work. Congrats and thanks to guys at <a href="http://www.evolus.vn/">Evolus</a>.</p>

<p>It could definitely use some good features like support for <span class="caps">SVG,</span> OmniGarffle and Visio files etc.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/mirnazim?a=OUTCuQ.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=OUTCuQ.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=CvlW2W.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=CvlW2W.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=vV1yKX.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=vV1yKX.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=j2tljV.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=j2tljV.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=rVRqTB.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=rVRqTB.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://saunzal.org/2008/08/free-and-open-source-answer-to-omnigraffle-in-making.html/feed</wfw:commentRss>
		<feedburner:origLink>http://saunzal.org/2008/08/free-and-open-source-answer-to-omnigraffle-in-making.html</feedburner:origLink></item>
		<item>
		<title>Mozilla Labs is upto something cool</title>
		<link>http://feeds.feedburner.com/~r/mirnazim/~3/500135647/mozilla-labs-is-upto-something-cool.html</link>
		<comments>http://saunzal.org/2008/08/mozilla-labs-is-upto-something-cool.html#comments</comments>
		<pubDate>Wed, 27 Aug 2008 07:51:57 +0000</pubDate>
		<dc:creator>Mir Nazim</dc:creator>
		
		<category><![CDATA[FOSS]]></category>

		<category><![CDATA[firefox]]></category>

		<category><![CDATA[mozilla labs]]></category>

		<category><![CDATA[tabs]]></category>

		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">8 at http://saunzal.org</guid>
		<description><![CDATA[Aza Raskin describes some new experiments going on at Mozilla Labs

Check this Video and read more in Aza&#8217;s blog post

  
  

]]></description>
			<content:encoded><![CDATA[<p class="dropcap-first"><a href="http://www.azarask.in/">Aza Raskin</a> describes some new experiments going on at <a href="http://labs.mozilla.com/">Mozilla Labs</a></p>

<p>Check this Video and read more in <a href="http://www.azarask.in/blog/post/new-tabs/">Aza&#8217;s blog post</a>
<object type="application/x-shockwave-flash" width="711" height="400" data="http://www.vimeo.com/moogaloop.swf?clip_id=1474467&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color="><br />
  <param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1474467&amp;server=www.vimeo.com&amp;fullscreen=1&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=" /><br />
  <param name="wmode" value="transparent" /><br />
</object><br />
</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/mirnazim?a=0eoj6t.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=0eoj6t.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=eDBUAh.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=eDBUAh.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=JUxQpC.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=JUxQpC.P" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=tnusKX.p"><img src="http://feeds.feedburner.com/~f/mirnazim?i=tnusKX.p" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/mirnazim?a=REetal.P"><img src="http://feeds.feedburner.com/~f/mirnazim?i=REetal.P" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://saunzal.org/2008/08/mozilla-labs-is-upto-something-cool.html/feed</wfw:commentRss>
		<feedburner:origLink>http://saunzal.org/2008/08/mozilla-labs-is-upto-something-cool.html</feedburner:origLink></item>
	</channel>
</rss>
