<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Cross Zheng</title>
	<atom:link href="http://crossz.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://crossz.wordpress.com</link>
	<description>Cross's Blog on wordpress.com</description>
	<lastBuildDate>Mon, 14 Dec 2009 17:11:41 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='crossz.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/b85f729c27189b4556fdc47024f29721?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Cross Zheng</title>
		<link>http://crossz.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://crossz.wordpress.com/osd.xml" title="Cross Zheng" />
		<item>
		<title>Proxy addon/softwares</title>
		<link>http://crossz.wordpress.com/2009/12/06/proxy-addonsoftwares/</link>
		<comments>http://crossz.wordpress.com/2009/12/06/proxy-addonsoftwares/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 04:48:00 +0000</pubDate>
		<dc:creator>crossz</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://crossz.wordpress.com/2009/12/06/proxy-addonsoftwares</guid>
		<description><![CDATA[Software:

anchorfree.com hotspot shield

addon:

                            

                         [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=861&subd=crossz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Software:
<ol>
<li>anchorfree.com hotspot shield</li>
</ol>
<p>addon:
<ol>
<li><span title="05 DEC 09"></span>                            <span class="jsEnabled action" id="audiofile0"></span>
<div class="data">
<h4>                                    <a rel="nofollow" class="taggedlink " href="https://addons.mozilla.org/zh-CN/firefox/addon/11009">AutoProxy</a></h4>
</div>
</li>
<li>
<h4><a rel="nofollow" class="taggedlink " href="https://addons.mozilla.org/zh-CN/firefox/addon/2648">MM3-ProxySwitch</a></h4>
</li>
<li>
<h4><a rel="nofollow" class="taggedlink " href="https://addons.mozilla.org/zh-CN/firefox/addon/2864">gladder </a></h4>
</li>
</ol>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/crossz.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/crossz.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/crossz.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/crossz.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/crossz.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/crossz.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/crossz.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/crossz.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/crossz.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/crossz.wordpress.com/861/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=861&subd=crossz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://crossz.wordpress.com/2009/12/06/proxy-addonsoftwares/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d4aed1705748e663d151499264b72cd?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">crossz</media:title>
		</media:content>
	</item>
		<item>
		<title>HOWTO: backup / resotre mysql database for drupal</title>
		<link>http://crossz.wordpress.com/2009/12/05/howto-backup-resotre-mysql-database-for-drupal/</link>
		<comments>http://crossz.wordpress.com/2009/12/05/howto-backup-resotre-mysql-database-for-drupal/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 08:12:00 +0000</pubDate>
		<dc:creator>crossz</dc:creator>
				<category><![CDATA[drupal]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://crossz.wordpress.com/2009/12/05/howto-backup-resotre-mysql-database-for-drupal</guid>
		<description><![CDATA[To Backup:

select the database need backup in phpMyAdmin
select the tab of Export, and save as file in a sql format.

To resotre:

upload the drupal installation files into the proper directory.
copy the old director of /site/all, in which are the modules and themes to the new site directory. Otherwise some functionalities will miss.
create the database you want [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=860&subd=crossz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>To Backup:
<ol>
<li>select the database need backup in phpMyAdmin</li>
<li>select the tab of Export, and save as file in a sql format.</li>
</ol>
<p>To resotre:
<ol>
<li>upload the drupal installation files into the proper directory.</li>
<li>copy the old director of /site/all, in which are the modules and themes to the new site directory. Otherwise some functionalities will miss.</li>
<li>create the database you want in phpMyAdmin with proper database name.</li>
<li>select the new database and Import.</li>
<li>Install the new drupal site.</li>
</ol>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/crossz.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/crossz.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/crossz.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/crossz.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/crossz.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/crossz.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/crossz.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/crossz.wordpress.com/860/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/crossz.wordpress.com/860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/crossz.wordpress.com/860/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=860&subd=crossz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://crossz.wordpress.com/2009/12/05/howto-backup-resotre-mysql-database-for-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d4aed1705748e663d151499264b72cd?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">crossz</media:title>
		</media:content>
	</item>
		<item>
		<title>HOWTO install egg file for python</title>
		<link>http://crossz.wordpress.com/2009/10/14/howto-install-egg-file-for-python/</link>
		<comments>http://crossz.wordpress.com/2009/10/14/howto-install-egg-file-for-python/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 19:52:00 +0000</pubDate>
		<dc:creator>crossz</dc:creator>
				<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://crossz.wordpress.com/2009/10/14/howto-install-egg-file-for-python</guid>
		<description><![CDATA[Using easy_install, which is installed by setuptools (http://pypi.python.org/pypi/setuptools).
~$ easy_install XXXXX.eggThis is for binary egg file. While script egg file should be treated as normal shell script. To install:~$ sh XXXXXX.egg
#######################Another popular way to install python &#8216;modules&#8217;, is:~$ python setup.py installThis is from python source. Normally third parties will provide such kind of source.
   [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=859&subd=crossz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Using easy_install, which is installed by setuptools (http://pypi.python.org/pypi/setuptools).</p>
<p>~$ easy_install XXXXX.egg<br />This is for binary egg file. While script egg file should be treated as normal shell script. To install:<br />~$ sh XXXXXX.egg</p>
<p>#######################<br />Another popular way to install python &#8216;modules&#8217;, is:<br />~$ python setup.py install<br />This is from python source. Normally third parties will provide such kind of source.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/crossz.wordpress.com/859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/crossz.wordpress.com/859/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/crossz.wordpress.com/859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/crossz.wordpress.com/859/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/crossz.wordpress.com/859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/crossz.wordpress.com/859/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/crossz.wordpress.com/859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/crossz.wordpress.com/859/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/crossz.wordpress.com/859/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/crossz.wordpress.com/859/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=859&subd=crossz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://crossz.wordpress.com/2009/10/14/howto-install-egg-file-for-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d4aed1705748e663d151499264b72cd?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">crossz</media:title>
		</media:content>
	</item>
		<item>
		<title>Activate your Email Subscription to: twitter.com/zhengxin</title>
		<link>http://crossz.wordpress.com/2009/09/06/activate-your-email-subscription-to-twitter-comzhengxin/</link>
		<comments>http://crossz.wordpress.com/2009/09/06/activate-your-email-subscription-to-twitter-comzhengxin/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 12:46:00 +0000</pubDate>
		<dc:creator>crossz</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://crossz.wordpress.com/2009/09/06/activate-your-email-subscription-to-twitter-comzhengxin</guid>
		<description><![CDATA[Hello there,
You recently requested an email subscription to mytwitter. We can&#39;t wait to  send the updates you want via email, so please click the following link to  activate your subscription immediately:
http://feedburner.google.com/fb/a/mailconfirm?k=0hFHXpYySwJYEeSIligIyHntEoE
(If the link above does not appear clickable or does not open a browser  window when you click it, copy it and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=782&subd=crossz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hello there,
<p>You recently requested an email subscription to mytwitter. We can&#39;t wait to  <br />send the updates you want via email, so please click the following link to  <br />activate your subscription immediately:</p>
<p><a href="http://feedburner.google.com/fb/a/mailconfirm?k=0hFHXpYySwJYEeSIligIyHntEoE">http://feedburner.google.com/fb/a/mailconfirm?k=0hFHXpYySwJYEeSIligIyHntEoE</a></p>
<p>(If the link above does not appear clickable or does not open a browser  <br />window when you click it, copy it and paste it into your web browser&#39;s  <br />Location bar.)</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/crossz.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/crossz.wordpress.com/782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/crossz.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/crossz.wordpress.com/782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/crossz.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/crossz.wordpress.com/782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/crossz.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/crossz.wordpress.com/782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/crossz.wordpress.com/782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/crossz.wordpress.com/782/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=782&subd=crossz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://crossz.wordpress.com/2009/09/06/activate-your-email-subscription-to-twitter-comzhengxin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d4aed1705748e663d151499264b72cd?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">crossz</media:title>
		</media:content>
	</item>
		<item>
		<title>Matlab: Mex example in C way</title>
		<link>http://crossz.wordpress.com/2009/08/20/matlab-mex-example-in-c-way/</link>
		<comments>http://crossz.wordpress.com/2009/08/20/matlab-mex-example-in-c-way/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 01:13:00 +0000</pubDate>
		<dc:creator>crossz</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[matlab]]></category>

		<guid isPermaLink="false">http://crossz.wordpress.com/2009/08/20/matlab-mex-example-in-c-way</guid>
		<description><![CDATA[There is a yprime.c for mex in Matlab. Here I translate to C, in order to understand mex better.
#include &#60;math.h&#62;
#include &#60;stdio.h&#62;
#include &#60;string.h&#62;
#include &#60;stdlib.h&#62;
static void yprime(      double*    yp,       double*    y      ){double    [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=857&subd=crossz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>There is a yprime.c for mex in Matlab. Here I translate to C, in order to understand mex better.</p>
<blockquote><blockquote>#include &lt;math.h&gt;</p></blockquote>
<blockquote><p>#include &lt;stdio.h&gt;</p></blockquote>
<blockquote><p>#include &lt;string.h&gt;</p></blockquote>
<blockquote><p>#include &lt;stdlib.h&gt;</p></blockquote>
<p>static void yprime(<br />      double*    yp,<br />       double*    y<br />      )<br />{<br />double    r1,r2;</p>
<p>double    mu = 1/82.45;<br />double    mus = 1 &#8211; 1/82.45;</p>
<p>r1 = sqrt((y[0]+mu)*(y[0]+mu) + y[2]*y[2]);<br />r2 = sqrt((y[0]-mus)*(y[0]-mus) + y[2]*y[2]);</p>
<p>yp[0] = y[1];<br />yp[1] = 2*y[3]+y[0]-mus*(y[0]+mu)/(r1*r1*r1)-mu*(y[0]-mus)/(r2*r2*r2);<br />yp[2] = y[3];<br />yp[3] = -2*y[1] + y[2] &#8211; mus*y[2]/(r1*r1*r1) &#8211; mu*y[2]/(r2*r2*r2);<br />return;<br />}</p>
<p>int main(){<br />double yo[4];<br />double yi[4] = {100, 2, 3, 4};</p>
<p>yprime(yo, yi);<br />printf(&#8220;print out %f&#8221;,yo[0]);</p>
<p>// some conversion practice<br />double a = yi[0];<br />char t1[7],t2[8],t3[8];</p>
<p>*t1= (char) a;<br />strcpy(t2,t1);</p>
<p>printf(strcat(t1, t2));</p>
<p>gcvt(a,7,t3);<br />puts(t3);</p>
<p>//    i = sprintf(str, &#8220;%d&#8221;, 15); //for interger to string</p>
<p>return 0;<br />}</p></blockquote>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/crossz.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/crossz.wordpress.com/857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/crossz.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/crossz.wordpress.com/857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/crossz.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/crossz.wordpress.com/857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/crossz.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/crossz.wordpress.com/857/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/crossz.wordpress.com/857/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/crossz.wordpress.com/857/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=857&subd=crossz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://crossz.wordpress.com/2009/08/20/matlab-mex-example-in-c-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d4aed1705748e663d151499264b72cd?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">crossz</media:title>
		</media:content>
	</item>
		<item>
		<title>HOWTO: compile objective-c using gcc in Linux</title>
		<link>http://crossz.wordpress.com/2009/08/16/howto-compile-objective-c-using-gcc-in-linux/</link>
		<comments>http://crossz.wordpress.com/2009/08/16/howto-compile-objective-c-using-gcc-in-linux/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 17:24:00 +0000</pubDate>
		<dc:creator>crossz</dc:creator>
				<category><![CDATA[C/C++]]></category>

		<guid isPermaLink="false">http://crossz.wordpress.com/2009/08/16/howto-compile-objective-c-using-gcc-in-linux</guid>
		<description><![CDATA[to compile these examples of objective-c (install libobjc first) from objective-c on wikipedia.org
1) traditional:gcc -c XX.m XXX.m -Wno-importgcc -o prog XX.o XXX.o -lobjc -Wno-import
2) gcc *.m -lojbc -Wno-import
Note:-Wno-import is because the maintainer of gcc doesn&#8217;t like &#8216;import&#8217;;
-lobjc: -l(library) -L(libaray directory) -lobjc(for GNU objective-c libraray)

For those examples using GNUstep, most of the header files need to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=856&subd=crossz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>to compile these examples of objective-c (install libobjc first) from objective-c on wikipedia.org</p>
<p>1) traditional:<br />gcc -c XX.m XXX.m -Wno-import<br />gcc -o prog XX.o XXX.o -lobjc -Wno-import</p>
<p>2) gcc *.m -lojbc -Wno-import</p>
<p>Note:<br />-Wno-import is because the maintainer of gcc doesn&#8217;t like &#8216;import&#8217;;
<p>-lobjc: -l(library) -L(libaray directory) -lobjc(for GNU objective-c libraray)</p>
<p></p>
<p>For those examples using GNUstep, most of the header files need to be changed from &#8216; #import &#8216; to &#8216;#import &#8216; to suit the GNU objective-c library.</p>
<p>More details: http://www.cs.indiana.edu/classes/c304/oop-intro.html</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/crossz.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/crossz.wordpress.com/856/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/crossz.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/crossz.wordpress.com/856/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/crossz.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/crossz.wordpress.com/856/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/crossz.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/crossz.wordpress.com/856/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/crossz.wordpress.com/856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/crossz.wordpress.com/856/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=856&subd=crossz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://crossz.wordpress.com/2009/08/16/howto-compile-objective-c-using-gcc-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d4aed1705748e663d151499264b72cd?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">crossz</media:title>
		</media:content>
	</item>
		<item>
		<title>HOWTO: Version control using BZR vs RCS</title>
		<link>http://crossz.wordpress.com/2009/08/03/howto-version-control-using-bzr-vs-rcs/</link>
		<comments>http://crossz.wordpress.com/2009/08/03/howto-version-control-using-bzr-vs-rcs/#comments</comments>
		<pubDate>Mon, 03 Aug 2009 20:25:00 +0000</pubDate>
		<dc:creator>crossz</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://crossz.wordpress.com/2009/08/03/howto-version-control-using-bzr-vs-rcs</guid>
		<description><![CDATA[No matter programming or documents editing, BZR will work for you to provide easier and better version control.
Here are some simple steps for docs processing:======================

bzr initcreate a folder, &#8216;text&#8217;, then create a file, &#8216;test1.txt&#8217;, in which we type in a paragraph. Then &#8216;bzr init&#8217; to let bzr know this is the folder where bzr should [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=855&subd=crossz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>No matter programming or documents editing, BZR will work for you to provide easier and better version control.</p>
<p>Here are some simple steps for docs processing:<br />======================
<ol>
<li>bzr init<br />create a folder, &#8216;text&#8217;, then create a file, &#8216;test1.txt&#8217;, in which we type in a paragraph. Then &#8216;bzr init&#8217; to let bzr know this is the folder where bzr should monitor.</li>
<li>bzr add<br />&#8216;bzr add test1.txt&#8217;. Now bzr knows where and what to monitor.</li>
<li>bzr diff<br />add more text into the test1.txt, then run &#8216;bzr diff&#8217; to test whether there is any changes.</li>
<li>bzr commit -m &#8216;description&#8217;<br />if there are some changes, and you want to create another version for that for the current version backup. run &#8216;bzr commint -m &#8220;some description&#8221;&#8216;.</li>
<li>bzr log<br />to check verisons.<br />&#8230;<br />more changes and more commits here.<br />&#8230;</li>
<li>bzr branch  -r <br />For example we just want to retrive the first version, run &#8216;bzr branch `pwd` -r 1&#8242;. A new folder with the name of current folder &#8216;text&#8217; will be created, in which our text1.txt 1st version is there.</li>
</ol>
<p>RCS: (same procedure)<br />===================
<ol>
<li>   create folder RCS<br />this step can be ignored, the rcs information will be saved in the same folder with the file you are editing. Otherwise, the file info file will be saved in the RCS folder.</li>
<li>   ci -u test1.txt<br />ver 1.1 is created. RCS uses the concept of &#8216;lock&#8217;. -l -r -u are similar, to keep the text file locked when new version is registered.</li>
<li>   co -l test1.txt<br />(if without this step, new version can not be registered. because &#8216;no lock&#8217;, prompted by &#8216;ci&#8217;, is this for synchronization?) So to lock the text file to make it writable (very weird concept, locked == writable???). Then add more text in it.</li>
<li>   rcsdiff test1.txt<br />To check what&#8217;s different from the registered version.</li>
<li>ci -u test1.txt (same with step2)<br />The version number increment with 0.1.&#8217;ci -r2 -u test1.txt&#8217; to make the version increment by 1.0.<br />&#8230;<br />more changes and more commits here.<br />&#8230;</li>
<li>   co -l1.1 test1.txt<br />Retrive version 1.1 to replace the current editing file. -l -r -u are similar, just -u makes the file non-writeable, while -l make the file writeable. Good practice is &#8216;ci -u&#8217; and &#8216;co -l&#8217;, so that when the new version is registered by ci, the file will become &#8216;non-writable&#8217;='can not modify&#8217;='No lock&#8217;. (weired)</li>
</ol>
<p>Note: no space between &#8216;-r2&#8242; and &#8216;-u1.1&#8242;.</p>
<p>Conclusion:<br />==================<br />BZR is more user friendly, and Ubuntu uses it on launchpad.net.<br />RCS is quite mature (old), LYX uses it as version control. So even I don&#8217;t like it, but I have to still use it, because I love Lyx.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/crossz.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/crossz.wordpress.com/855/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/crossz.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/crossz.wordpress.com/855/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/crossz.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/crossz.wordpress.com/855/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/crossz.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/crossz.wordpress.com/855/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/crossz.wordpress.com/855/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/crossz.wordpress.com/855/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=855&subd=crossz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://crossz.wordpress.com/2009/08/03/howto-version-control-using-bzr-vs-rcs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d4aed1705748e663d151499264b72cd?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">crossz</media:title>
		</media:content>
	</item>
		<item>
		<title>HOWTO: autoconf &amp; automake HELLO WORLD</title>
		<link>http://crossz.wordpress.com/2009/08/02/howto-autoconf-automake-hello-world/</link>
		<comments>http://crossz.wordpress.com/2009/08/02/howto-autoconf-automake-hello-world/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 19:43:00 +0000</pubDate>
		<dc:creator>crossz</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://crossz.wordpress.com/2009/08/02/howto-autoconf-automake-hello-world</guid>
		<description><![CDATA[1) Create sources, “Makefile.am”2) `autoscan`：create configure.scan3) Rename “configure.scan” to “configure.ac”4) `autoheader`:create config.h.in for automake5) Add AM_INIT_AUTOMAKE to “configure.ac”, just after AC_INIT()6) `aclocal`:create necessary macros in aclocal.m4 for automake.7) `automake ­­&#8211;add-­missing &#8211;­­copy`: create Makefile.in from Makefile.am  `autoconf`:create configure9) `./configure`:check and create Makefile10) `make`11) `make install`
if you modify your source&#8230;1) Run `autoscan` again2) Compare configure.scan with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=854&subd=crossz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>1) Create sources, “Makefile.am”<br />2) `autoscan`：create configure.scan<br />3) Rename “configure.scan” to “configure.ac”<br />4) `autoheader`:create config.h.in for automake<br />5) Add AM_INIT_AUTOMAKE to “configure.ac”, just after AC_INIT()<br />6) `aclocal`:create necessary macros in aclocal.m4 for automake.<br />7) `automake ­­&#8211;add-­missing &#8211;­­copy`: create Makefile.in from Makefile.am<br /> <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> `autoconf`:create configure<br />9) `./configure`:check and create Makefile<br />10) `make`<br />11) `make install`</p>
<p>if you modify your source&#8230;<br />1) Run `autoscan` again<br />2) Compare configure.scan with configure.ac<br />* Update configure.ac<br />3) Run `autoreconf`</p>
<p>***********************<br /># Makefile.am for hello.c<br />bin_PROGRAMS=hello<br />hello_SOURCES=hello.c<br />***********************</p>
<p>To simplify it:<br />===============<br />1) c/cc files, Makefile.am<br />2) autoscan =&gt; mv configure.scan configure.ac =&gt; add Add AM_INIT_AUTOMAKE after AC_INIT</p>
<p>3) autoheader<br />4) aclocal<br />5) automake</p>
<p>6) autoconf  autoscan,(compare configure.ac),autoreconf
<p>7) ./configure &amp;&amp; make &amp;&amp; make install</p>
<p></p>
<p><span style="font-size:180%;">Simplest &#8216;make&#8217;<br /></span><span style="font-size:100%;">=====================<br />Hello.c:</span></p>
<p><span style="font-size:100%;"><br />
<blockquote>#include <br />int main(int argc, char* argv[])<br />{<br />printf(&#8220;Hello, world!\n&#8221;);<br />return 0;<br />}</p></blockquote>
<p>Makefile:</span></p>
<p><span style="font-size:180%;"><span style="font-size:100%;"><br />
<blockquote># Makefile: A standard Makefile for hello.c<br />all: hello<br />clean:   rm -f hello</p></blockquote>
<p>Run: make, to create executable bin file.</span><br /></span></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/crossz.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/crossz.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/crossz.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/crossz.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/crossz.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/crossz.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/crossz.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/crossz.wordpress.com/854/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/crossz.wordpress.com/854/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/crossz.wordpress.com/854/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=854&subd=crossz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://crossz.wordpress.com/2009/08/02/howto-autoconf-automake-hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d4aed1705748e663d151499264b72cd?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">crossz</media:title>
		</media:content>
	</item>
		<item>
		<title>HOWTO: autoconf &amp; automake</title>
		<link>http://crossz.wordpress.com/2009/08/02/howto-autoconf-automake/</link>
		<comments>http://crossz.wordpress.com/2009/08/02/howto-autoconf-automake/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 15:21:00 +0000</pubDate>
		<dc:creator>crossz</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://crossz.wordpress.com/2009/08/02/howto-autoconf-automake</guid>
		<description><![CDATA[
Write makefile.am templates.
Write configure.in.2.1 Use autoscan to generate a template.2.2 Specialize the generated configure.scan to suit your project.2.3 Rename configure.scan to configure.in.
Run automake to generate Makefile.in from Makefile.am (automake scans configure.in to find out more about the project).
Run aclocal to make local copies of all autoconf macros. These macros are then included in the project.
Run [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=853&subd=crossz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><ol>
<li>Write makefile.am templates.</li>
<li>Write configure.in.<br />2.1 Use autoscan to generate a template.<br />2.2 Specialize the generated configure.scan to suit your project.<br />2.3 Rename configure.scan to configure.in.</li>
<li>Run automake to generate Makefile.in from Makefile.am (automake scans configure.in to find out more about the project).</li>
<li>Run aclocal to make local copies of all autoconf macros. These macros are then included in the project.</li>
<li>Run autoconf to generate configure.</li>
</ol>
<p>=========================</p>
<p><span style="font-size:180%;">automake</span><br />automake, when used in conjunction with autoconf, makes creating Makefiles easy. automake operates on a Makefile.am to generate Makefile.in . Makefile.in is then processed by the configure script to generate Makefile. Makefile.am has macros that are processed by automake. A sample Makefile.am is shown below. Variables surrounded by @&#8217;s are automatically propagated without change to Makefile.in. The configure script, when parsing Makefile.in into Makefile, makes the necessary substitutions (for example, @LDFLAGS@ may get expanded to &#8220;-lm -lthread).<br />        <br />        bin_PROGRAMS = gpstat<br />        gpstat_SOURCES = about.c interface.c multi-plot.c attach_process.c<br />        gpstat_LDFLAGS = @LDFLAGS@ @GTK_LIBS@ -lgthread<br />        INCLUDES = @GTK_CFLAGS@</p>
<p>automake knows the rules to create object files and executables for the platform it is running on. The above sets of macros tell automake that:<br />1. The final executable is to be named gpstat. <br />2. The sources for gpstat are the value of gpstat_SOURCES. <br />3. Add @LDFLAGS@, @GTK_LIBS@, and -lgthread to the link line. (The  configure script will replace LD_FLAGS and GTK_LIBS with their proper values.) <br />4. Include the variable $INCLUDES in the compilation line.</p>
<p>=========================</p>
<p><span style="font-size:180%;">autoconf</span></p>
<p>The configure script is generated from configure.in using autoconf. configure.in is a normal text file that contains several autoconf macros. These macros specify what tests to carry out.  General uses of the configure script include:<br />1. Find machine information (Hostname, version&#8230;). <br />2. Find the path to a particular program (bison, lex, &#8230;). <br />3. Find out if a tool supports a feature (for example, if the compiler supports bool). <br />4. Check if the required libraries are available on your system. <br />5. Process Makefile.in to generate Makefile.</p>
<p>=========================================</p>
<p>automake also provides autoscan, a utility script that will help you create a template configure.in. autoscan scans the program sources and adds suitable macros to configure.in. It creates configure.scan, which then should be renamed configure.in, after making suitable modifications.<br />automake also provides a program called aclocal. aclocal makes local copies of all autoconf macros, so that other developers can modify the configure.in file.</p>
<p>You can combine the invocation of automake, aclocal, and autoconf as follows:<br /><span style="font-size:180%;">foo@pastwatch$ aclocal&amp;&amp; automake &amp;&amp; autoconf</span><span style="font-size:130%;"><br /></span></p>
<p><span style="font-size:180%;">Sample:</span><span style="font-size:130%;"><br />Comments can either begin with dnl or a #. The following is a small, well-documented, self-explanatory configure.in file.<br /></span><span style="font-size:78%;">#============================start configure.in============================<br />dnl Process this file with autoconf to produce a configure script.<br />dnl notice how comments are preceded by &#8220;dnl&#8221;<br /># comments can also begin with a #<br />dnl This macro is a must, and this tests if the configure<br />dnl script is running in the correct directory<br />AC_INIT(src/about.c)<br />dnl This macro tells the configure script to put<br />dnl &#8220;defines&#8221; in a file rather than the command line.<br />AM_CONFIG_HEADER(config.h)<br />dnl get the flags<br />CFLAGS=&#8221;${CFLAGS=}&#8221;<br />dnl this macro is used to get the arguments supplied<br />dnl to the configure script (./configure &#8211;enable-debug)<br />dnl Check if we have enable debug support.<br />AC_MSG_CHECKING(whether to enable debugging)<br />debug_default=&#8221;yes&#8221;<br />AC_ARG_ENABLE(debug, [  --enable-debug=[no/yes] turn on debugging<br />                     [default=$debug_default]],, enable_debug=$debug_default)<br />dnl Yes, shell scripts can be used<br />if test &#8220;x$enable_debug&#8221; = &#8220;xyes&#8221;; then<br />       CFLAGS=&#8221;$CFLAGS -g -DDEBUG&#8221;<br />AC_MSG_RESULT(yes)<br />else<br />CFLAGS=&#8221;$CFLAGS -O3 -ffast-math -mcpu=v8 -mtune=ultrasparc&#8221;<br />AC_MSG_RESULT(no)<br />fi<br />dnl tells us that we require autoconf with version greater than<br />dnl 2.12 to generate configure<br />AC_PREREQ(2.12)<br />dnl get system information<br />AC_CANONICAL_SYSTEM<br />dnl Since foo is currently untested on any os other<br />dnl than solaris, so check the os and quit if not solaris.<br />UNSUPPORTED_OS=&#8221;FOO is currently unsupported on your platform.<br />If you are interested in making it work on your platform, you are<br />more than *welcome*. Contact foo@bar.sun.com for details.&#8221;<br />case &#8220;${target_os}&#8221; in<br />solaris*)<br />  echo ===========================================================<br />  echo Setting up build environment for ${target_cpu}${target_os}<br />  echo ===========================================================<br />  ;;<br />*)<br />  AC_MSG_ERROR($UNSUPPORTED_OS)<br />esac</p>
<p># Build time sanity check&#8230;<br />AM_SANITY_CHECK<br />dnl get path to install program<br />AC_PROG_INSTALL<br />AC_ARG_PROGRAM<br />VERSION=0.1<br />PACKAGE=foo<br />dnl initialize automake<br />AM_INIT_AUTOMAKE($PACKAGE, $VERSION)<br />dnl Checks for c compiler.<br />AC_PROG_CC<br />dnl check for standard c headers<br />AC_HEADER_STDC<br />dnl export these variable (so Makefile substitutions<br />dnl can be made.<br />AC_SUBST(CFLAGS)<br />AC_SUBST(LDFLAGS)<br />dnl Checks for libraries.<br />dnl AC_CHECK_LIB(gthread, g_thread_init)<br />dnl AC_CHECK_LIB(pthread, pthread_create)<br />dnl Check for /proc<br />   AC_CHECK_FILE(/proc,,AC_MSG_ERROR(Cannot<br />     find /proc. See the file &#8216;README&#8217; for help.))<br />dnl check for procfs.h<br />AC_CHECK_HEADER(procfs.h,,<br />              AC_MSG_ERROR(Cannot<br />                find procfs.h. See the file &#8216;README&#8217; for help.))<br />dnl Checks for header files.<br />AC_CHECK_HEADERS(fcntl.h)<br />AC_CHECK_HEADERS(time.h)<br />dnl Checks for typedefs, structures, and compiler characteristics.<br />AC_C_CONST<br />AC_TYPE_PID_T<br />dnl Create these files, making substitutions if necessary<br />AC_OUTPUT([<br />src/Makefile<br />Makefile<br />]<br />)<br />#============================end configure.in============================</span><span style="font-size:130%;"><br /></span></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/crossz.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/crossz.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/crossz.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/crossz.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/crossz.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/crossz.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/crossz.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/crossz.wordpress.com/853/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/crossz.wordpress.com/853/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/crossz.wordpress.com/853/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=853&subd=crossz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://crossz.wordpress.com/2009/08/02/howto-autoconf-automake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d4aed1705748e663d151499264b72cd?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">crossz</media:title>
		</media:content>
	</item>
		<item>
		<title>HOWTO: get stdin from shell in Gedit External Tool</title>
		<link>http://crossz.wordpress.com/2009/07/27/howto-get-stdin-from-shell-in-gedit-external-tool/</link>
		<comments>http://crossz.wordpress.com/2009/07/27/howto-get-stdin-from-shell-in-gedit-external-tool/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 23:56:00 +0000</pubDate>
		<dc:creator>crossz</dc:creator>
				<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://crossz.wordpress.com/2009/07/27/howto-get-stdin-from-shell-in-gedit-external-tool</guid>
		<description><![CDATA[The following code can get the input from Gedit External Tool as you assigned for &#8216;input&#8217;.
#!/bin/bashsearch=`xargs`echo $search
The trick is the command of xargs.
Also available Environment Variables in Gedit External Tool are:=====================GEDIT_CURRENT_DOCUMENT_URIGEDIT_CURRENT_DOCUMENT_NAMEGEDIT_CURRENT_DOCUMENT_SCHEMEGEDIT_CURRENT_DOCUMENT_PATHGEDIT_CURRENT_DOCUMENT_DIRGEDIT_DOCUMENTS_URIGEDIT_DOCUMENTS_PATH
An example: compile java file and run it=========================javac $GEDIT_CURRENT_DOCUMENT_NAME &#38;&#38; java -cp . `echo $GEDIT_CURRENT_DOCUMENT_NAME &#124; sed s/.java//`
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=852&subd=crossz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The following code can get the input from Gedit External Tool as you assigned for &#8216;input&#8217;.</p>
<blockquote><p>#!/bin/bash<br />search=`xargs`<br />echo $search</p></blockquote>
<p>The trick is the command of <span style="font-size:180%;"><span style="font-weight:bold;">xargs</span></span>.</p>
<p>Also available Environment Variables in Gedit External Tool are:<br />=====================<br />GEDIT_CURRENT_DOCUMENT_URI<br />GEDIT_CURRENT_DOCUMENT_NAME<br />GEDIT_CURRENT_DOCUMENT_SCHEME<br />GEDIT_CURRENT_DOCUMENT_PATH<br />GEDIT_CURRENT_DOCUMENT_DIR<br />GEDIT_DOCUMENTS_URI<br />GEDIT_DOCUMENTS_PATH</p>
<p>An example: compile java file and run it<br />=========================<br />javac $GEDIT_CURRENT_DOCUMENT_NAME &amp;&amp; java -cp . `echo $GEDIT_CURRENT_DOCUMENT_NAME | sed s/.java//`</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/crossz.wordpress.com/852/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/crossz.wordpress.com/852/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/crossz.wordpress.com/852/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/crossz.wordpress.com/852/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/crossz.wordpress.com/852/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/crossz.wordpress.com/852/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/crossz.wordpress.com/852/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/crossz.wordpress.com/852/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/crossz.wordpress.com/852/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/crossz.wordpress.com/852/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=crossz.wordpress.com&blog=6980341&post=852&subd=crossz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://crossz.wordpress.com/2009/07/27/howto-get-stdin-from-shell-in-gedit-external-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/5d4aed1705748e663d151499264b72cd?s=96&#38;d=wavatar&#38;r=G" medium="image">
			<media:title type="html">crossz</media:title>
		</media:content>
	</item>
	</channel>
</rss>