<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>lunatechian (lunatech-ian)  - programming</title>
    <link>http://rajshekhar.net/blog/</link>
    <description>one relating to, belonging to, or resembling lunatech</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.2.1 - http://www.s9y.org/</generator>
    <pubDate>Mon, 02 Apr 2007 05:11:44 GMT</pubDate>

    <image>
        <url>http://rajshekhar.net/blog/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: lunatechian (lunatech-ian)  - programming - one relating to, belonging to, or resembling lunatech</title>
        <link>http://rajshekhar.net/blog/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>Release of PythonOnPlanes-1.3.07 aka. SuperSunday release</title>
    <link>http://rajshekhar.net/blog/archives/222-Release-of-PythonOnPlanes-1.3.07-aka.-SuperSunday-release.html</link>
            <category>geek stuff</category>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/222-Release-of-PythonOnPlanes-1.3.07-aka.-SuperSunday-release.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=222</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=222</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;&lt;strong&gt;What is PythonOnPlanes ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;PythonOnPlanes is a rapid development framework for Python which uses
commonly known design patterns like ActiveRecord, Association Data
Mapping, Front Controller and MVC. Our primary goal is to provide a
structured framework that enables Python users at all levels to
rapidly develop robust web applications, without any loss to
flexibility.&lt;/p&gt;
&lt;p&gt;See the Features list below to learn more about the framework.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Release Announcement&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Release Engineering Team is happy to announce the availability of
PythonOnPlanes-1.3.07 , the latest release of the PythonOnPlanes
Stable development branch. Since PythonOnPlanes-1.3.06 release we have
made many improvements in functionality, stability, performance, and
mod_snake_oil support for Apache web servers, as well as dealt with
known security issues and made many bugfixes.&lt;/p&gt;
&lt;p&gt;Major highlights in the release include Active Scrum Manager 1, Sanity
Preserver 3.13 and Lart 22.21. This is also the first release with the
&lt;em&gt;PythonOnPlanes Live CD Installer&lt;/em&gt; officially debuting on the x86
platform.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Features&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The software development world is moving towards AGILE DEVELOPMENT,
WEB-2.OH, GURU PRESENCE and LEAN SOFTWARE.  Our Framework is geared to
support all these features.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;quot;Out of the box&amp;quot; features available&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Out of the box PythonOnPlanes supports&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sprint Management&lt;/li&gt;
&lt;li&gt;Pair programming using an editor that can be shared by 2
developers.  We have named it ALN (Analog Large Notebook)&lt;/li&gt;
&lt;li&gt;LoC2LoC to generate a report on each developer&#039;s productivity.&lt;/li&gt;
&lt;li&gt;Active Suggest DESIGN PATTERN (ASDP).  This feature will make your
refactoring efforts a snap&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Beta Experimental Features&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;These features are not enabled by default and you have to enable them
by editing the configuration file.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Developers&#039; Blog .  Each developer in the team is given a blog
which he can update.  If enabled, PythonOnPlanes will generate a
daily report of the developer activity log and post it on the blog
too&lt;/li&gt;
&lt;li&gt;CutesyErrorMessages-0.0.1-BETA.  This replaces stern error messages
with very user friendly messages&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;GET PythonOnPlanes-1.3.07 IN NO TIME&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Download PythonOnPlanes-1.3.07 from &amp;lt;&lt;a href=&quot;http://pythononplanes.com/&quot;&gt;http://pythononplanes.com/&lt;/a&gt;&amp;gt;&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Sun, 01 Apr 2007 19:50:41 +0200</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/222-guid.html</guid>
    <category>geek</category>
<category>humour</category>
<category>programming</category>

</item>
<item>
    <title>RIP John W. Backus</title>
    <link>http://rajshekhar.net/blog/archives/219-RIP-John-W.-Backus.html</link>
            <category>geek stuff</category>
            <category>link</category>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/219-RIP-John-W.-Backus.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=219</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=219</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;The &quot;B&quot; in &lt;a href=&quot;http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_form&quot;&gt;&amp;quot;BNF&amp;quot;&lt;/a&gt; is gone. NY Times has a nice artilce about him and his noteworthy quote is tucked in at the end&lt;/p&gt;
&lt;p&gt;
&lt;blockquote&gt;
&lt;p class=&quot;quoted&quot;&gt;Innovation, Mr. Backus said, was a constant process of trial and error.&lt;/p&gt;

&lt;p&gt;&quot;You need the willingness to fail all the time,&quot; he said. &quot;You have to generate many ideas and then you have to work very hard only to discover that they don&#039;t work. And you keep doing that over and over until you find one that does work.&quot;
&lt;/blockquote&gt;
&lt;/p&gt;

&lt;p&gt;Link: &lt;a href=&#039;http://www.nytimes.com/2007/03/20/business/20backus.html?_r=1&amp;oref=slo&#039;&gt;John W. Backus, 82, Fortran Developer, Dies - New York Times&lt;/a&gt; 
    </content:encoded>

    <pubDate>Wed, 21 Mar 2007 11:34:22 +0100</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/219-guid.html</guid>
    
</item>
<item>
    <title>s9y's xml-rpc interface</title>
    <link>http://rajshekhar.net/blog/archives/186-s9ys-xml-rpc-interface.html</link>
            <category>geek stuff</category>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/186-s9ys-xml-rpc-interface.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=186</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=186</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;I have been playing with s9y&#039;s cml-rpc interface for a few days now. &lt;a href=&quot;http://rajshekhar.net/content/view/32/26/&quot; &gt;Here is a small article&lt;/a&gt; on how you can post to your s9y blog using the command line.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 02 Nov 2006 21:52:39 +0100</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/186-guid.html</guid>
    <category>geek</category>
<category>geek stuff</category>
<category>lj</category>
<category>programming</category>

</item>
<item>
    <title>words of wisdom from an APC dev</title>
    <link>http://rajshekhar.net/blog/archives/146-words-of-wisdom-from-an-APC-dev.html</link>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/146-words-of-wisdom-from-an-APC-dev.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=146</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=146</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;Have you been using heredocs in your php scripts ?  Gopalv shows &lt;a href=&#039;http://t3.dotgnu.info/blog/php/php-bytecode.html&#039;&gt;why&lt;/a&gt; this is bad. &lt;a href=&#039;http://pecl.php.net/user/gopalv&#039;&gt; Gopal&lt;/a&gt; is one of the developers of APC, so heed his words. &lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 11 Jun 2006 19:16:49 +0200</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/146-guid.html</guid>
    <category>programming</category>

</item>
<item>
    <title>Trying out MySQL5</title>
    <link>http://rajshekhar.net/blog/archives/107-Trying-out-MySQL5.html</link>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/107-Trying-out-MySQL5.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=107</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=107</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;I have written a small article on how you can install MySQL5 alongside with MySQL4.  MySQL5 has a bunch of  new features and I am trying to spend some time in learining them.  Read the article titled &lt;a href=&#039;http://rajshekhar.net/content/view/28/26/&#039;&gt;  Trying out MySQL5 without clobbering your MySQL4 installation&lt;/a&gt; and let me know of your comments. &lt;p&gt; 
    </content:encoded>

    <pubDate>Sun, 18 Dec 2005 21:23:20 +0100</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/107-guid.html</guid>
    <category>programming</category>

</item>
<item>
    <title>PHPCommunity Gazette third edition</title>
    <link>http://rajshekhar.net/blog/archives/96-PHPCommunity-Gazette-third-edition.html</link>
            <category>geek stuff</category>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/96-PHPCommunity-Gazette-third-edition.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=96</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=96</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt; Yesterday &lt;a href=&quot;http://khankennels.com/blog/index.php&quot;&gt;Lig&lt;/a&gt;
and me put out the &lt;a href=&quot;http://www.phpcommunity.org/node/214&quot;&gt;third edition &lt;/a&gt; of the PHPCommunity Gazette.  It has some very
nice articles, do check it out.  If you want to write an article for
it,  &lt;a href=&quot;mailto:gazette@phpcommunity.org&quot; &gt; drop us a mail&lt;/a&gt;,
but remember that we would not be able to pay you anything, except a
nice &quot;thank you&quot; note - it is a voluntary effort &lt;img src=&quot;http://rajshekhar.net/blog/templates/default/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; . &lt;/p&gt;
 
    </content:encoded>

    <pubDate>Fri, 11 Nov 2005 07:12:41 +0100</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/96-guid.html</guid>
    <category>geek stuff</category>
<category>programming</category>

</item>
<item>
    <title>bayesian filters</title>
    <link>http://rajshekhar.net/blog/archives/94-bayesian-filters.html</link>
            <category>geek stuff</category>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/94-bayesian-filters.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=94</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=94</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;Some weeks back, I was talking with my manager about AI and how it
is such a bogus field.  My manager replied that in a few years we will
see applications that use AI in our daily life.  However, I was quite
skeptical - and I refused to agree to this.  He then gave an overview
of neural net and how they can learn to solve the problems.  Here I
pointed out that Bayesian filters can also be considered a form of AI,
as they can learn from their previous data and they can make
decisions, but Bayesian filtering is mathematics and not AI.  At this
he replied that most of AI is mathematics and only some part of it is
 hocus-pocus and hand waving.&lt;/p&gt;

&lt;p&gt; This brings me what I have been thinking for a long time.&lt;a
href=&quot;http://joelonsoftware.com/items/2005/10/17.html&quot; &gt;Joel write
&lt;/a&gt; &lt;blockquote&gt;A very senior Microsoft developer who moved to Google
told me that Google works and thinks at a higher level of abstraction
than Microsoft. &quot;Google uses Bayesian filtering the way Microsoft uses
the if statement,&quot; he said. &lt;/blockquote&gt;.  I had always suspected
this and had also felt that this was the way to go.  A few months
back, we had a presentation by a researcher (not a Yahoo! employee),
who was working on extraction and summarization of documents.  He had
a formula that he was applying on the sentences of the documents to
find the weight of the whole sentence and then finally if the weight
of the sentence was above some limit, it showed up in the summary.  I
was skeptical about this approach - my belief is that the Bayesian
approach can be used to classify documents.  Luckily, there is a &lt;a
href=&quot;http://crm114.sourceforge.net/&quot; &gt;project&lt;/a&gt; that seems to
provide a framework on which things can be built further.  &lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 23 Oct 2005 20:45:39 +0200</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/94-guid.html</guid>
    <category>geek stuff</category>
<category>programming</category>

</item>
<item>
    <title>Rasmus' 30 second AJAX Tutorial</title>
    <link>http://rajshekhar.net/blog/archives/85-Rasmus-30-second-AJAX-Tutorial.html</link>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/85-Rasmus-30-second-AJAX-Tutorial.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=85</wfw:comment>

    <slash:comments>62</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=85</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;I was reading through the mails in the php-general mailing list and
came across this &lt;a
href=&quot;http://marc.theaimsgroup.com/?l=php-general&amp;m=112198633625636&amp;w=2&quot;
&gt;mail by Rasmus about AJAX&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;
&lt;pre&gt;
I find a lot of this AJAX stuff a bit of a hype.  Lots of people have
been using similar things long before it became &quot;AJAX&quot;.  And it really
isn&#039;t as complicated as a lot of people make it out to be.  Here is a
simple example from one of my apps.  First the Javascript:

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == &quot;Microsoft Internet Explorer&quot;){
        ro = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(action) {
    http.open(&#039;get&#039;, &#039;rpc.php?action=&#039;+action);
    http.onreadystatechange = handleResponse;
    http.send(null);
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf(&#039;|&#039; != -1)) {
            update = response.split(&#039;|&#039;);
            document.getElementById(update[0]).innerHTML = update[1];
        }
    }
}

This creates a request object along with a send request and handle
response function.  So to actually use it, you could include this js in
your page.  Then to make one of these backend requests you would tie it
to something.  Like an onclick event or a straight href like this:

  &amp;lt;a href=&quot;javascript:sndReq(&#039;foo&#039;)&quot;&amp;gt;[foo]&amp;lt;/a&amp;gt;

That means that when someone clicks on that link what actually happens
is that a backend request to rpc.php?action=foo will be sent.

In rpc.php you might have something like this:

  switch($_REQUEST[&#039;action&#039;]) {
    case &#039;foo&#039;:
      /&lt;strong&gt; do something &lt;/strong&gt;/
      echo &quot;foo|foo done&quot;;
      break;
    ...
  }

Now, look at handleResponse.  It parses the &quot;foo|foo done&quot; string and
splits it on the &#039;|&#039; and uses whatever is before the &#039;|&#039; as the dom
element id in your page and the part after as the new innerHTML of that
element.  That means if you have a div tag like this in your page:

  &amp;lt;div id=&quot;foo&quot;&amp;gt;
  &amp;lt;/div&amp;gt;

Once you click on that link, that will dynamically be changed to:

  &amp;lt;div id=&quot;foo&quot;&amp;gt;
  foo done
  &amp;lt;/div&amp;gt;

That&#039;s all there is to it.  Everything else is just building on top of
this.  Replacing my simple response &quot;id|text&quot; syntax with a richer XML
format and makine the request much more complicated as well.  Before you
blindly install large &quot;AJAX&quot; libraries, have a go at rolling your own
functionality so you know exactly how it works and you only make it as
complicated as you need.  Often you don&#039;t need much more than what I
have shown here.

Expanding this approach a bit to send multiple parameters in the
request, for example, would be really simple.  Something like:

  function sndReqArg(action,arg) {
    http.open(&#039;get&#039;, &#039;rpc.php?action=&#039;+action+&#039;&amp;arg=&#039;+arg);
    http.onreadystatechange = handleResponse;
    http.send(null);
  }

And your handleResponse can easily be expanded to do much more
interesting things than just replacing the contents of a div.

-Rasmus


&lt;/pre&gt;

&lt;/p&gt;
&lt;p&gt; &lt;emph&gt;Update:&lt;/emph&gt; Disallowed comments on the entry&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 28 Jul 2005 07:42:11 +0200</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/85-guid.html</guid>
    <category>programming</category>

</item>
<item>
    <title>2 in 1 search update</title>
    <link>http://rajshekhar.net/blog/archives/81-2-in-1-search-update.html</link>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/81-2-in-1-search-update.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=81</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=81</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;I have added the &quot;internet keywords&quot; feature to the &lt;a
href=&quot;http://rajshekhar.net/hacks/compare.php&quot;&gt;&quot;2-in-1&quot; search&lt;/a&gt;.
If you now type &quot;news India&quot;, it will do a search on both Google and
Yahoo news.  There are keywords for image and mysql too.  Thinking of
adding a &quot;meme&quot; keyword, which will search the Technorati and feedster
search engines. &lt;/p&gt; &lt;p&gt;The code for this &lt;a
href=&quot;http://rajshekhar.net/download/compare.zip&quot;&gt;lies here&lt;/a&gt; and is
in public domain. &lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 25 Jun 2005 13:48:58 +0200</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/81-guid.html</guid>
    <category>programming</category>

</item>
<item>
    <title>Nice fonts for Emacs</title>
    <link>http://rajshekhar.net/blog/archives/62-Nice-fonts-for-Emacs.html</link>
            <category>geek stuff</category>
            <category>linux</category>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/62-Nice-fonts-for-Emacs.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=62</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=62</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt; If you have been using Linux, I think you must have been frusturated with the lack of good fonts when using Emacs.  It gets very hard to distinguish between &quot;l&quot; (the letter l) and 1 (number 1) and between comma and semicolon when programming or examining large amount of code.  &lt;/p&gt; &lt;p&gt;The Bitstream Inc have done an excellent work in producing and relesaing under a very liberal license, the bitstream-vera fonts. These fonts are really beautiful and easy to read.  To use these fonts with your emacs, just add this line to your &lt;code&gt; ~/.Xdefaults &lt;/code&gt; file &lt;br /&gt; &lt;pre&gt; Emacs*font: -bitstream-bitstream vera sans mono-medium-r-*-&lt;strong&gt;-*-100-*-&lt;/strong&gt;-*-&lt;strong&gt;-*-&lt;/strong&gt; &lt;/pre&gt; &lt;br /&gt; Of course, you need to have the bitstream-vera fonts installed on your Linux box&lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 20 Mar 2005 07:28:09 +0100</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/62-guid.html</guid>
    <category>geek stuff</category>
<category>linux</category>
<category>programming</category>

</item>
<item>
    <title>WYSIWYG browser based html editor</title>
    <link>http://rajshekhar.net/blog/archives/55-WYSIWYG-browser-based-html-editor.html</link>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/55-WYSIWYG-browser-based-html-editor.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=55</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=55</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;&lt;a href=&quot;http://tinymce.moxiecode.com/&quot;&gt;Tinymce&lt;/a&gt; is a nice WYSIWYG browser based HTML editor.  It transforms the way the  &amp;lt;textarea &amp;gt; element appears.  Handy for providing users a way to edit their content.  Does not work on safari &lt;/p&gt; 
    </content:encoded>

    <pubDate>Sat, 12 Feb 2005 13:21:34 +0100</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/55-guid.html</guid>
    <category>programming</category>

</item>
<item>
    <title>php manual on your hdd</title>
    <link>http://rajshekhar.net/blog/archives/43-php-manual-on-your-hdd.html</link>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/43-php-manual-on-your-hdd.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=43</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=43</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;One of the strong points of PHP is its well annotated online manual, which is peppered with useful code snippets and hints.  How many times have you pointed your browser to &lt;a href=&quot;http://php.net/manual&quot;&gt;php.net/manual/&lt;/a&gt; to look up that &lt;i&gt;at-the-tip-of-your-mouth&lt;/i&gt; function&#039;s argument list ? If you or your company  use the manual frequently, it might be a good idea to mirror the manual in your internal network.  I have mirrored the manual in my office,  and the two benefits that I  see are &lt;ul&gt;&lt;li&gt;Faster manual lookup - Living in a bandwidth starved country(India), this is a major win for us. &lt;/li&gt; &lt;li&gt;A peek at well written code, again a major win if you are always looking for new and nifty way for doing things &lt;/li&gt; &lt;/ul&gt; &lt;/p&gt; &lt;p&gt;The process of how to go about mirroring the manual is surprisingly well documented at &lt;a href=&quot;http://php.net/mirroring&quot;&gt;Mirroring The PHP Website&lt;/a&gt;.  As suggested by the documentation, You may want to exclude out certain non essential things ,like the manual in different languages.  I also excluded the &lt;code&gt;tar.gz&lt;/code&gt; and the &lt;code&gt;zip&lt;/code&gt; files in the &lt;code&gt;extra&lt;/code&gt; directory. &lt;/p&gt; &lt;p&gt;After downloading the manual pages, I created the virtual host (a simple copy-paste with some minor modifications) for the manual and that was it.  To keep the manual uptodate I run the rsync command once a week. &lt;/p&gt; &lt;p&gt; For the record, my rsync command is &lt;code&gt;rsync -avzC --timeout=600 --delete --delete-after --include=&#039;manual/en/&#039; --include=&#039;manual/en/**&#039; --exclude=&#039;manual/**&#039; --exclude=&#039;distributions/manual/**&#039; --exclude=&#039;distributions/*.exe&#039; --exclude=&#039;extra/*.zip&#039; --exclude=&#039;extra/*.tar*&#039; --exclude=&#039;distributions/*&#039; rsync.php.net::phpweb ./ &lt;/code&gt; Of course, you will need to change this to suit your needs.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 16 Dec 2004 05:27:40 +0100</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/43-guid.html</guid>
    <category>programming</category>

</item>
<item>
    <title>using google api from PHP</title>
    <link>http://rajshekhar.net/blog/archives/32-using-google-api-from-PHP.html</link>
            <category>geek stuff</category>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/32-using-google-api-from-PHP.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=32</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=32</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;Now available for your downloading pleasure, is my GoogleSoap class. have you eveer felt the sudden need to use the &lt;a href=&quot;http://www.google.com/apis/&quot;&gt;Google&#039;s web APIs&lt;/a&gt; through PHP ? Worry not as help is at hand.  You can use the GoogleSoap class to make your job easier.  I have put the code and related documentation/examples in the public domain, so you can hack it up further.  Some rudimentary  instructions are included in the README file, I will add more to it as and when time permits me.  Any additions/suggestions are always welcome. &lt;/p&gt;  &lt;p&gt;&lt;a href=&quot;http://rajshekhar.net/download/GoogleSoap.tgz&quot;&gt;Get the code here &lt;/a&gt; &lt;/p&gt;  
    </content:encoded>

    <pubDate>Tue, 26 Oct 2004 14:51:08 +0200</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/32-guid.html</guid>
    <category>geek stuff</category>
<category>programming</category>

</item>
<item>
    <title>why code maintainance sucks</title>
    <link>http://rajshekhar.net/blog/archives/31-why-code-maintainance-sucks.html</link>
            <category>humour</category>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/31-why-code-maintainance-sucks.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=31</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=31</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;I have had to work on updating someone else&#039;s code for a few days now.  The code was a headache to read because &lt;ul&gt;&lt;li&gt; It was not formatted to conform to &lt;em&gt;my&lt;/em&gt; coding standard ... in fact it did not conform to &lt;em&gt;any&lt;/em&gt; coding standards. &lt;/li&gt; &lt;li&gt;There was no version control ... oh wait, yes there was version control. It was &lt;em&gt;version control by commenting out unwanted code&lt;/em&gt;.  So I had to scroll through screenfuls to commented out code.  I must take a moment to thank the programmers of &lt;a href=&quot;http://anjuta.sourceforge.net/&quot;&gt;Anjuta IDE&lt;/a&gt;, which helped me a lot a with their excellent syntax highlighting.  Here is how you &lt;a href=&quot;http://www.nedbatchelder.com/text/deleting-code.html&quot;&gt;delete code&lt;/a&gt;. &lt;li&gt;Did I say there was no version control.  There was a version control system.  It looked almost like &lt;a href=&quot;http://thedailywtf.com/archive/2004/09/29/2162.aspx&quot;&gt;this&lt;/a&gt;  &lt;li&gt;There was no comments. &lt;li&gt;There were spelling mistakes in variable names &lt;li&gt;PHP code and HTML were mixed &lt;li&gt;there was more .. i have forgotten it.  &lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/p&gt; 
    </content:encoded>

    <pubDate>Thu, 21 Oct 2004 02:09:03 +0200</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/31-guid.html</guid>
    <category>humour</category>
<category>programming</category>

</item>
<item>
    <title>Hyperlinks with LaTeX</title>
    <link>http://rajshekhar.net/blog/archives/29-Hyperlinks-with-LaTeX.html</link>
            <category>geek stuff</category>
            <category>programming</category>
    
    <comments>http://rajshekhar.net/blog/archives/29-Hyperlinks-with-LaTeX.html#comments</comments>
    <wfw:comment>http://rajshekhar.net/blog/wfwcomment.php?cid=29</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://rajshekhar.net/blog/rss.php?version=2.0&amp;type=comments&amp;cid=29</wfw:commentRss>
    

    <author>nospam@example.com (Raj Shekhar)</author>
    <content:encoded>
    &lt;p&gt;I am big fan of &lt;a href=&quot;http://www.gnu.org/software/texinfo/&quot;&gt;Texinfo&lt;/a&gt; for writing articles or any other documentations work (yes, I do sometimes try to write the specification document).  For a few weeks now, I have been trying to learn LaTeX, sice it can be used to typeset good quality presentation slides and letters too.  &lt;/p&gt; &lt;p&gt;A problem that I faced when writing the articles in LaTeX was on how to make a hyperlink to a webpage. I was using latex2html to convert the latex file to HTML format.  LaTeX comes with a hyperref package which can be used to create links.  It has a &lt;code&gt; \href &lt;/code&gt; command which can be used to create hyperlinks, but the links did not come out in the HTML page. I found that this was a known problem with hyperref and latex2html.  However, the solution, as I found out, is much easier.  The command to use is &lt;code&gt; \htmladdnormallink{link text}{universal resource locator} &lt;/code&gt; You have to include the package html in your document to use it&lt;pre&gt;
\usepackage{html,makeidx}
....
The text of this article can be downloaded from our
\htmladdnormallink{web site}{http://www.example.org}.
&lt;/pre&gt; &lt;/p&gt; 
    </content:encoded>

    <pubDate>Sun, 10 Oct 2004 16:32:44 +0200</pubDate>
    <guid isPermaLink="false">http://rajshekhar.net/blog/archives/29-guid.html</guid>
    <category>geek stuff</category>
<category>programming</category>

</item>

</channel>
</rss>