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

<channel>
	<title>Naveen&#039;s Journal &#187; Technology</title>
	<atom:link href="http://journal.naveeng.com/category/technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://journal.naveeng.com</link>
	<description>Peace.</description>
	<lastBuildDate>Thu, 25 Mar 2010 08:59:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>All Text/Data is some kind of executable code or program</title>
		<link>http://journal.naveeng.com/2008/02/22/all-textdata-is-some-kind-of-executable-code-or-program/</link>
		<comments>http://journal.naveeng.com/2008/02/22/all-textdata-is-some-kind-of-executable-code-or-program/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 09:30:45 +0000</pubDate>
		<dc:creator>Naveen</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://journal.naveeng.com/2008/02/22/all-textdata-is-some-kind-of-executable-code-or-program/</guid>
		<description><![CDATA[I just love to see where these technical discussions sometimes end up, or start off for that matter. Reading on a /. post on Largest Hacking Scam in Canadian History, an interesting debate shot off on &#8220;There is no data which is also not a program/piece of executable(in some way or the other) code&#8220;. Following [...]]]></description>
			<content:encoded><![CDATA[<p>I just love to see where these technical discussions sometimes end up, or start off for that matter. Reading on a <a href="http://www.slashdot.org" target="_blank">/.</a> post on <a href="http://it.slashdot.org/article.pl?sid=08/02/21/1418230" target="_blank">Largest Hacking Scam in Canadian History</a>, an interesting debate shot off on &#8220;<strong>There is no data which is also not a program/piece of executable(in some way or the other) code</strong>&#8220;. Following are excerpts from the thread:</p>
<blockquote>
<blockquote>
<blockquote><p><em>It doesn&#8217;t even really matter at this point. Let&#8217;s be honest&#8230; the average computer user doesn&#8217;t know the difference between U2-Somesong.mp3 and U2-SomeSong.exe.</em></p></blockquote>
<p>To make matters worse, some attacks may even occur if you are dealing with safe file types, like <a href="http://www.microsoft.com/technet/security/bulletin/ms05-009.mspx" title="microsoft.com">a PNG</a> [microsoft.com] or even <a href="http://news.softpedia.com/news/Highly-Critical-PDF-Vulnerability-43487.shtml" title="softpedia.com">PDF</a> [softpedia.com]. Some security problems exist due to the user&#8217;s ignorance or idiocy but &#8220;some&#8221; isn&#8217;t exactly the same thing as &#8220;all&#8221;.</p>
<blockquote><p>There are no safe file types. All files can be viewed as programs meant to run in a specialized virtual machine (the program which is used to open them). For example, a PNG file is a program which, when run, will compute an array of bytes (the image pixels). The same goes to PDF. In this view, since all files are programs, it is in principle possible that any of them could contain code which can result in unexpected behavior of the virtual machine executing them.</p>
<p>Of course some file types are easier to compromize than others, either due to sheer complexity or ambiguity of the specification or because they are Turing complete. However, it is impossible to guarantee that every viewer for any file type is free of defects. Anyone still remember ANSI codes for DOS, which could be embedded to text to change color but also to set macros to keyboard keys when the file was viewed ? And of course SQL injection attacks are based on formatting a text string so it will cause unexpected results, not to mention causing a buffer overflow with an overlong string.</p>
<p>I repeat: there are <em>no</em> safe file types. They <em>all</em> have a potential to contain malicious code, because there is no such thing as data which is not also a program. From a certain point of view, GIMP is simply a very specialized compiler&#8230;</p>
<blockquote>
<blockquote><p>Is a text file containing a single line of text followed by a carriage return a program? How about the standard input device? When I type at the console keyboard, is that a program feeding into a &#8220;virtual machine&#8221; created by the console driver? If not, why is a disk device different from another device?</p>
<blockquote><p>I think you&#8217;re missing the fundamental theorem of modern computer science &#8212; that &#8220;data&#8221; and &#8220;instruction&#8221; are completely interchangeable. See generally, the halting problem.</p>
<blockquote><p><em>Is a text file containing a single line of text followed by a carriage return a program?</em></p></blockquote>
<p>It can be. For example:</p>
<p><tt>'; ROLLBACK; UPDATE users SET admin = true WHERE username = 'ultranova'; '</tt>If the virtual machine which handles the username field of Slashdot login form naively passed this string to the database layer without specifically quoting it, this text string would make my account an admin account; well, actually, since I haven&#8217;t studied Slashdcode, it propably wouldn&#8217;t, but the point still stands: even text is not an inherently safe data format in all circumstances.</p>
<blockquote><p><em>How about the standard input device? When I type at the console keyboard, is that a program feeding into a &#8220;virtual machine&#8221; created by the console driver?</em></p></blockquote>
<p>The virtual machine in this case would be whatever program receives the input. And yes, the text you type is indeed a program being executed by that machine; each time it receives a keypress from you, that keypress instructs it to do <em>something</em>, right ? Even if that something is merely to output the letter (altought a text editor would also store the input internally, of course). And that is what a program is: a list of instructions.</p>
<blockquote><p><em>If not, why is a disk device different from another device?</em></p></blockquote>
<p>It isn&#8217;t.</p>
<p class="commentBody">
<p id="comment_body_22506786">I&#8217;m with you on this. I know there may be a True Computer Science definition that makes the GP true, but I don&#8217;t tend to think of data as a program. Some binary data could be considered code to execute, but surely not text files that are parsed?</p>
<p>Okay, sure, there are scripts, but they have special parsers that turn the text into Real Code that CAN execute. I don&#8217;t think notepad can turn a text document into Real Code.
</p>
<p class="commentBody">&nbsp;</p>
<blockquote>
<p class="commentBody">The OP has suggested a view that I have often thought about myself, although I have rarely found anyone who quickly grasps the concept.</p>
<p>Think of notepad since you have mentioned it. When notepad opens a file it looks at the contents and does certain things depending on the content of the file. If the first character is hex 61 then notepad will display an &#8220;a&#8221; in the first character location on the screen. OK, so that is because hex 61 is ascii &#8220;a&#8221; but that is an arbitrary choice that has been standardised. You can if you like look at notepad as if it is an interpreter for a rather strange and limited language where 0&#215;61 is one of the commands. In some ways it is rather like those old interpreted basics since it is responding both to the file you have opened and to the keys you press on the keyboard. There have been attempts to make languages where instead of typing in commands you select icons with a GUI and join them up in a flowchart like sequence. The ones I saw were interpreted but there is nothing to stop them being a compiled language and thus eventually resulting in real code in a binary file. It is only a small step from there to looking at say photoshop as being a sort of real time mode interpreted language. (Real time in the sense that the commands execute straight away, like the mode in the old basics.)</p>
<p>In some ways this insight is interesting, although not necessarily very useful. But it should serve to remind us that much of our thinking about computers is based on elaborate analogies which the computer itself has no knowledge of. So the distinction between data and code is purely arbitrary. This tends to be more obvious when you play around with assembly, where the machine will happily let you attempt to execute data. For example you can set up a jump into a block of what is meant to be data and the machine will not object in the slightest. The results will of course be unlikely to have any meaning in terms of the analogies we have set up for ourselves, but the machine neither know nor cares since it has no means of doing so.</p>
<p>So Notepad will in fact execute certain real code in response to both the contents of the data file and the keyboard actions of the user. That is fine and good and need not be of any concern to the user, unless what it does is not what we expected in terms of the intended behaviour. An example of this sort of thing would be a buffer overflow allowing an external person to push what should (in terms of our analogies) be data into a place where it will get executed as if it was code.
</p>
<p class="commentBody">&nbsp;</p>
</blockquote>
<p class="commentBody">This is the case for <a href="http://en.wikipedia.org/wiki/Von_Neumann_architecture" title="wikipedia.org" rel="nofollow">Von Neumann machines</a> [wikipedia.org] because they have a single memory area for programs and data. An attacker only has to move the current program control flow to some compromised place in the data (say some lines of machine code hidden in a corrupt bitmap) and the processor will happily compute those instructions. In other architectures, namely <a href="http://en.wikipedia.org/wiki/Harvard_architecture" title="wikipedia.org" rel="nofollow">Harvard architecture</a> [wikipedia.org], there are physically seperate memory locations for programs and data and the processor WILL not carry out instructions &#8220;hidden&#8221; in data. A shift towards seperate memory architectures is required to secure computers. Unfortunately a paradigm shift at this level is all but impossible in general purpose computing.</p>
<p class="commentBody">&nbsp;</p>
<blockquote>
<p class="commentBody">No, but whatever program is running on the processor and interpreting the data will. SQL database, Python interpreter, Mozilla&#8230; all of these are based on treating text (data) as a list of instructions (program). It is obvious in the case of Python, since that is openly a programming language, but HTML itself can be considered a series of instructions for building the DOM tree, which then gets rendered, as dictated by default rules and those given by optional CSS; and of course there is always Javascript.</p>
<p>It is impossible for a general purpose computing to be immune for this class of attacks. Not just &#8220;all but impossible&#8221;, but flat out impossible due to a logical flaw: the very ability to simulate different machines which treat data as a list of instructions &#8211; program &#8211; is what makes it a &#8220;general purpose&#8221; computer. If you can program it, you can program it to misbehave when it reads a suitably malformed PDF/PNG/HTML/SQL/whatever file. The only way around that would be for the computer to be intelligent and capable of common sense, so it could understand that the programmer propably didn&#8217;t mean for it to execute any random piece of SQL someone feeds into a Web forum login box; but then it would be vulnerable to social engineering.</p>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://journal.naveeng.com/2008/02/22/all-textdata-is-some-kind-of-executable-code-or-program/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>First post from mobile</title>
		<link>http://journal.naveeng.com/2007/12/05/first-post-from-mobile/</link>
		<comments>http://journal.naveeng.com/2007/12/05/first-post-from-mobile/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 19:02:24 +0000</pubDate>
		<dc:creator>Naveen</dc:creator>
				<category><![CDATA[Posting from Mobile]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://journal.naveeng.com/2007/12/05/first-post-from-mobile/</guid>
		<description><![CDATA[Finally i got my GPRS activated yesterday and its been a great experience so far! With apps like Opera browser, GMAIL mobile, Nimbuzz, surfing from your cell is a temptation which you can&#8217;t resist. And my SONY ERICSSON is well equipped to provide a pleasurable surfing experience. So here goes my first GPRS blog post, [...]]]></description>
			<content:encoded><![CDATA[<p>Finally i got my GPRS activated yesterday and its been a great experience so far! With apps like Opera browser, GMAIL mobile, Nimbuzz, surfing from your cell is a temptation which you can&#8217;t resist. And my SONY ERICSSON is well equipped to provide a pleasurable surfing experience. So here goes my first GPRS blog post, with many more to follow! Keep watching <img src='http://journal.naveeng.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://journal.naveeng.com/2007/12/05/first-post-from-mobile/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AJAX Picture Gallery using jQuery</title>
		<link>http://journal.naveeng.com/2007/10/23/ajax-picture-gallery-using-jquery/</link>
		<comments>http://journal.naveeng.com/2007/10/23/ajax-picture-gallery-using-jquery/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 08:26:58 +0000</pubDate>
		<dc:creator>Naveen</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://journal.naveeng.com/2007/10/23/ajax-picture-gallery-using-jquery/</guid>
		<description><![CDATA[I have been longing for a custom picture gallery for quite some time, to showcase my pictures, but did not want to go for a ready made solution like Coppermine or Gallery. Sure these are great products with endless features, but would not give me that MADE BY MYSELF feeling So I decided to tinker [...]]]></description>
			<content:encoded><![CDATA[<p>I have been longing for a custom picture gallery for quite some time, to showcase my pictures, but did not want to go for a ready made solution like <a href="http://coppermine-gallery.net/" target="_blank">Coppermine </a>or <a href="http://www.gallery2.org/" target="_blank">Gallery</a>. Sure these are great products with endless features, but would not give me that <strong>MADE BY MYSELF</strong> feeling <img src='http://journal.naveeng.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  So I decided to tinker with <a href="http://www.prototypejs.org" target="_blank">Prototype</a> and <a href="http://script.aculo.us" target="_blank">Script.aculo.us</a> , to see if any good carousel is available which I can use as an image slider. I had previously used <a href="http://billwscott.com/carousel/" target="_blank">YUI Carousel</a> by <strong>Bill Scott</strong> of <strong>Yahoo</strong>! but did not want to use it because it was way too heavy and hence slow to load initially. So I decided to take a look into <a href="http://sorgalla.com/jcarousel/" target="_blank">jCarousel by Sorgalla</a> which is based on the excellent <a href="http://www.jquery.com" target="_blank">jQuery Javascript framework</a>. Both <strong>jQuery </strong>and <strong>jCarousel </strong>are very lightweight, feature packed, customisable, and contain almost all, if not all, the features of prototype and scriptaculous.</p>
<p>So after a little toying with the carousel and learning a few cool effects of <strong>jQuery </strong>, I made up <a href="http://gallery.naveeng.com" target="_blank">http://gallery.naveeng.com</a> . Right now it is very very basic and it&#8217;s development is still under progress. I will be adding a lot more features to it, which include:</p>
<ul>
<li>Multiple Albums</li>
<li> Admin Panel</li>
<li>User Comments</li>
<li>Ratings</li>
<li>Last Added Pictures</li>
<li>Random Pictures</li>
<li>Tags</li>
</ul>
<p>It may take a lot of time but one day all the above features (<em>plus a lot more!</em>) will be there for sure! The gallery has a lot of <strong>jQuery </strong>JS code, with the image details stored in <strong>XML </strong>format on the server. The server side scripting and image manipulation are done in <strong>Perl </strong>using the fantastic <a href="http://www.imagemagick.org/script/perl-magick.php" target="_blank">PerlMagick API</a> of <a href="http://www.imagemagick.org/" target="_blank">ImageMagick</a> .</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.naveeng.com/2007/10/23/ajax-picture-gallery-using-jquery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Perl one-liner to sort a hash and return the top most key/value</title>
		<link>http://journal.naveeng.com/2007/10/17/perl-one-liner-to-sort-and-hash-and-return-the-top-most-keyvalue/</link>
		<comments>http://journal.naveeng.com/2007/10/17/perl-one-liner-to-sort-and-hash-and-return-the-top-most-keyvalue/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 10:14:01 +0000</pubDate>
		<dc:creator>Naveen</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://journal.naveeng.com/2007/10/17/perl-one-liner-to-sort-and-hash-and-return-the-top-most-keyvalue/</guid>
		<description><![CDATA[A while ago Deepz asked me whether we can sort a hash and print the top most key or value or both in a single line, in PERL. After a little permutation &#38; combination, I wrote the following piece. I&#8217;m sure there must be a more elegant and efficient way of doing it, but this [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago <a href="http://blog.pradeep.net.in" target="_blank">Deepz </a>asked me whether we can sort a hash and print the top most key or value or both in a single line, in <a href="http://en.wikipedia.org/wiki/Perl" target="_blank">PERL</a>. After a little permutation &amp; combination, I wrote the following piece. I&#8217;m sure there must be a more elegant and efficient way of doing it, but this will also serve the purpose on most occasions and with a little tweaking can be applied to almost all hashes.</p>
<ul>
<li>The code needs to be  modified if the hash keys contain any digits</li>
<li>The sort algorithm can be changed as per the requirement, by default I&#8217;m sorting by hash values which are digits</li>
</ul>
<p><font face="courier new">print grep {s/\d//g} grep {/1/}  map { $i+=1 , $_.=$i ,  &#8220;\n&#8221;} sort {$hash{$a} &lt;=&gt; $hash{$b}} keys %hash;</font></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.naveeng.com/2007/10/17/perl-one-liner-to-sort-and-hash-and-return-the-top-most-keyvalue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install Perl Modules without root</title>
		<link>http://journal.naveeng.com/2007/10/16/install-perl-modules-without-root/</link>
		<comments>http://journal.naveeng.com/2007/10/16/install-perl-modules-without-root/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 18:40:16 +0000</pubDate>
		<dc:creator>Naveen</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[modules]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[root]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://journal.naveeng.com/2007/10/16/install-perl-modules-without-root/</guid>
		<description><![CDATA[How many times Perl developers have to scratch their heads when they find that there is a module dependency which is breaking their code. Worse, they do not have sufficient privileges to install the required modules on the system. And the worst &#8211; there is no immediate way to get the module installed and the [...]]]></description>
			<content:encoded><![CDATA[<p>How many times <a href="http://en.wikipedia.org/wiki/Perl" target="_blank">Perl </a>developers have to scratch their heads when they find that there is a module dependency which is breaking their code. Worse, they do not have sufficient privileges to install the required modules on the system.  And the worst &#8211; there is no immediate way to get the module installed and the application needs to be tested/deployed ASAP! Well, I faced a similar situation during my experience in deploying a website on a shared hosting account, where I was on the mercy of the Hosting Service Provider to decide which modules I&#8217;m going to use and which not. But this is hardly the way a programmer works, and more so for a Perl programmer! I came across a few wonderful workarounds (hacks!) to overcome the above.</p>
<p>Download the module from <a href="http://search.cpan.org" target="_blank">CPAN</a> or elsewhere. Place it in any directory, where you have permissions. Preferably, create a directory called</p>
<pre>lib</pre>
<p>in the application directory and place your module there. Untar it, you will see a few files and folders &#8211; <strong>Makefile.pl</strong> (to install the module, we don&#8217;t need this) , <strong>Readme.txt </strong>(this either), <strong>Examples </strong>(not required), lib directory &#8211; this is the only thing we are concerned with. It contains the main module files. Go inside the lib directory, and copy all the folders (if any) and all <strong>.pm </strong>files and place them directly inside the lib directory you just created. Remove all other files and folders.</p>
<p>The next thing which you need to do is go to the Perl code where you want to use that module and write the following:</p>
<pre>BEGIN { unshift @INC, "./lib"; }</pre>
<pre>use Module::Name;</pre>
<p>And voila!! Your code works like a charm with all the functionalities of the module included.</p>
<p><strong>How it works? </strong>- When you use a module in a program, like</p>
<pre>use CGI::Ajax;</pre>
<p><strong>perl</strong> searches for it in a predefined library search path on the system. You can determine which directories are in the path by executing</p>
<pre>perl -e 'print for @INC;'</pre>
<p>Any module in order to be usable in the program needs to be in any of the directories above, which is where the modules get installed if installed via</p>
<pre>cpan or ppm</pre>
<p>command or using <strong>Makefile.pl</strong>.</p>
<p>But in the situation discussed, it is not the case, as we cannot install a module as it should be. Instead what we do is place the modules in a directory of our choice (lib) and then insert the path of that directory in the</p>
<pre>@INC</pre>
<p>so that later when the perl interpreter tries to do</p>
<pre>use Module::Name;</pre>
<p>it finds its path in</p>
<pre>@INC</pre>
<p><strong>Why BEGIN { } ? -</strong></p>
<pre>use Module::Name</pre>
<p>happens at compile time, when the interpreter reads the program while</p>
<pre>unshift @INC, "./lib"</pre>
<p>happens at run-time, after the compilation, i.e, attempt to load the module, even if the latter is placed above the former in the program. So in order to force the program to modify</p>
<pre>@INC</pre>
<p>before trying to use the module, we use</p>
<pre>BEGIN { }</pre>
<p>block. Any code which is written within</p>
<pre>BEGIN { }</pre>
<p>block is executed at compile-time as opposed to other code which is executed at run-time.</p>
<p><strong>Note: </strong>Remember that  many modules have further dependencies, i.e. modules which are required for the former to work. And if these dependencies are not on the system, the code won&#8217;t work. You need to perform the above operations for each of those dependencies as well. For example, if <a href="http://search.cpan.org/~bct/CGI-Ajax-0.701/lib/CGI/Ajax.pm" target="_blank">CGI::Ajax</a> requires <a href="http://search.cpan.org/~kasei/Class-Accessor-0.31/lib/Class/Accessor.pm" target="_blank">Class::Accessor </a>to work, you need to</p>
<p>a) create the directory <strong>CGI</strong> and place <strong>Ajax.pm</strong> within it</p>
<p>b) create the directory <strong>Class </strong>and place <strong>Accessor.pm </strong>and the directory <strong>Accessor </strong>within it and</p>
<p>c) <strong>unshift/push </strong>the path of the directory which contains these 2 directories <strong>CGI </strong>and <strong>Class,</strong> into <strong>@INC.</strong></p>
<p>I have used this method to use more than 30 odd modules and have faced no difficulty whatsoever. However it will not work if the module&#8217;s <strong>Makefile.pl </strong>does more than just copying the <strong>.pm </strong>files in the right place and do some other work such as using external C libraries etc.</p>
<p>Another method of extending</p>
<pre>@INC</pre>
<p>is setting the</p>
<pre>PERL5LIB</pre>
<p>environment variable on your system to include the path of the manually placed modules.</p>
<p>In Bourne Shell do something like-</p>
<pre>PERL5LIB=/path/to/module/directory; export PERL5LIB</pre>
<p>It is useful when you do no want to write the <strong>BEGIN </strong>blocks in all the files where you use the module. But only users who are setting the</p>
<pre>PERL5LIB</pre>
<p>environment variable can only use it and other users can&#8217;t.</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.naveeng.com/2007/10/16/install-perl-modules-without-root/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WebOSS &#8217;07 &#8211; Web and Open Source Conference in Kolkata</title>
		<link>http://journal.naveeng.com/2007/10/15/weboss-07-web-and-open-source-conference-in-kolkata/</link>
		<comments>http://journal.naveeng.com/2007/10/15/weboss-07-web-and-open-source-conference-in-kolkata/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 07:56:24 +0000</pubDate>
		<dc:creator>Naveen</dc:creator>
				<category><![CDATA[Kolkata]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://journal.naveeng.com/2007/10/15/weboss-07-web-and-open-source-conference-in-kolkata/</guid>
		<description><![CDATA[Finally, the day arrived this Saturday, October the 13th, when the first Web &#38; Open Source Technology Conference took place in Kolkata. It was a great initiative to bring like-minded people on the same platform and share our views on all things Web, OSS and Technology. Since the venue host was WBUT , a large [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, the day arrived this <strong>Saturday, October the 13th</strong>, when the first <a href="http://journal.naveeng.com/2007/10/09/im-speaking-weboss-07/" target="_blank">Web &amp; Open Source Technology Conference</a> took place in <a href="http://en.wikipedia.org/wiki/Kolkata" target="_blank">Kolkata</a>. It was a great initiative to bring like-minded people on the same platform and share our views on all things Web, OSS and Technology. Since the venue host was <a href="http://www.wbut.net" target="_blank">WBUT</a> , a large percentage of the audience were IT and Comp. Sci. students of the university  who were eager to get a peek into the <strong>REAL </strong>things, and learn the tricks of the trade from the people in the Industry.</p>
<p><a title="Pradeep, Myself and Shabbir Bhai" href="http://journal.naveeng.com/wp-content/uploads/2007/10/32.jpg"><img src="http://journal.naveeng.com/wp-content/uploads/2007/10/32.jpg" alt="Pradeep, Myself and Shabbir Bhai" width="431" height="325" align="middle" /></a></p>
<p>The auditorium was good enough with a capacity of around 150, well-airconditioned and the stage space more than enough. The LCD projector could have been more to the center of the stage, rather than just behind the dais, with speaker coming right in between the screen and audience. The only and a very big disappointment from the arrangements point of view was the absence of microphone!! Huh! A seminar without a microphone! Well, the equipments were there but the keys to them were with a gentleman who preferred skipping the college that day and was untraceable!</p>
<p>So after lot of failed efforts  by the volunteers to get the microphone working &#8211; they even brought another one, but it didn&#8217;t work &#8211; the event got underway at 11:30 AM, 1 hour behind schedule. <a href="http://hussulinux.blogspot.com" target="_blank">Hussain </a>was the first one to start off on <a href="http://www.go4expert.com/forums/showthread.php?t=6814" target="_blank"><strong>RIA &#8211; Rich Internet Applications</strong></a>. It was a great insight on the <a href="http://en.wikipedia.org/wiki/Web_2.0" target="_blank">Web 2.0</a> client side technologies which are riding most of the snazzy websites today and threw light on <a href="http://en.wikipedia.org/wiki/Ajax_framework" target="_blank">AJAX</a>, <a href="http://en.wikipedia.org/wiki/Adobe_Flex" target="_blank">Flex</a>, <a href="http://en.wikipedia.org/wiki/Adobe_Flash" target="_blank">Flash </a>, <a href="http://www.openlaszlo.org/" target="_blank">OpenLaszlo</a> among others. His thoughts were well received by the audience with quite a few questions popping up on the subjects.</p>
<p><a title="Hussain on RIA" href="http://journal.naveeng.com/wp-content/uploads/2007/10/huss1.jpg"><img src="http://journal.naveeng.com/wp-content/uploads/2007/10/huss1.jpg" alt="Hussain on RIA" width="431" height="325" align="middle" /></a></p>
<p>Next came <a href="http://blog.pradeep.net.in/2007/10/weboss-07-web-and-open-source.html" target="_blank">Pradeep</a> with  a talk on what is <a href="http://en.wikipedia.org/wiki/Ajax_(programming)" target="_blank">AJAX</a> and how to implement it in Web Apps. He showed some nifty piece of code on how to create <a href="http://en.wikipedia.org/wiki/Xmlhttprequest" target="_blank">xmlHTTPRequest </a>and fetch data from the server in asynchronous mode. Also included were examples on how to use <a href="http://en.wikipedia.org/wiki/JSON" target="_blank">JSON </a>instead of xmlHTTPRequest to implement AJAX. The content of his presentation is available at <a href="http://www.go4expert.com/forums/showthread.php?t=6829&amp;referrerid=146" target="_blank">http://www.go4expert.com/forums/showthread.php?t=6829&amp;referrerid=146</a> and can be downloaded from <a href="http://www.slideshare.net/s_pradeep/building-applications-using-ajax" target="_blank">http://www.slideshare.net/s_pradeep/building-applications-using-ajax</a></p>
<p><a title="Pradeep on AJAX" href="http://journal.naveeng.com/wp-content/uploads/2007/10/deepz.jpg"><img src="http://journal.naveeng.com/wp-content/uploads/2007/10/deepz.jpg" alt="Pradeep on AJAX" align="middle" /></a></p>
<p><a href="http://www.go4expert.com/" target="_blank">Shabbir bhai </a>resumed the proceedings after a well deserved lunch break with his expertise on optimising web pages, and gave a lengthy (detailed) talk on <strong><a href="http://www.go4expert.com/forums/showthread.php?t=6814" target="_blank">Speeding up your Web Pages</a>. </strong>He covered topics such as Database Design, Query Optimization, Web Server &amp; Programming tips and tweaks among others.Although his soft voice was finding it hard to make up for the lack of mic, he too put up a great show.</p>
<p><a title="Shabbir Bhai on ‘Speeding up your Web Pages’" href="http://journal.naveeng.com/wp-content/uploads/2007/10/sb.jpg"><img src="http://journal.naveeng.com/wp-content/uploads/2007/10/sb.jpg" alt="Shabbir Bhai on ‘Speeding up your Web Pages’" align="middle" /></a></p>
<p>I was next on the block. With fears of rushing too fast and getting over with my stuff in 10-15 minutes, I started off on <strong>Web Development in Perl. </strong>Since most of the audience were students with little or no previous exposure to Web Development, Programming and <a href="http://en.wikipedia.org/wiki/PERL" target="_blank">Perl</a>, added to the fact that previous sessions were a bit too technical for most of them, I had to make it as simplistic as possible. So I stressed most on the introduction part which dealt with explaining the Web Development cycle, internet in general and programming. Yet, technicalities about <strong>Perl </strong>needed to be covered as they were a part of my presentation and most importantly, were the focal point of the show! After around 30 minutes Hussu started prompting me that we were running out of time and I needed to pack up fast!  So I hurried with the last part of the presentation by going through the points of difference between Perl and <a href="http://en.wikipedia.org/wiki/PHP" target="_blank">PHP</a>.</p>
<p><a title="Myself in Action!" href="http://journal.naveeng.com/wp-content/uploads/2007/10/nav1.jpg"><img src="http://journal.naveeng.com/wp-content/uploads/2007/10/nav1.jpg" alt="Myself in Action!" width="431" height="325" align="middle" /></a></p>
<p><a title="Ab to samjah jao bhai!! :P" href="http://journal.naveeng.com/wp-content/uploads/2007/10/nav3.jpg"><img src="http://journal.naveeng.com/wp-content/uploads/2007/10/nav3.jpg" alt="Ab to samjah jao bhai!! :P" width="431" height="325" align="middle" /></a></p>
<p><a href="http://journal.naveeng.com/wp-content/uploads/2007/10/nav4.jpg"><img src="http://journal.naveeng.com/wp-content/uploads/2007/10/nav4.jpg" alt="" width="431" height="325" align="middle" /></a></p>
<p>The presentation can be downloaded from <a href="http://www.slideshare.net/naveeng/web-development-in-perl/" target="_blank">http://www.slideshare.net/naveeng/web-development-in-perl/</a><br />
<code>
<object	type="application/x-shockwave-flash"
			data="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=134603&amp;doc=web-development-in-perl4460"
			width="425"
			height="348">
	<param name="movie" value="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=134603&amp;doc=web-development-in-perl4460" />
	<param name=wmode" value="transparent" />
</object></code></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.naveeng.com/2007/10/15/weboss-07-web-and-open-source-conference-in-kolkata/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m Speaking at WebOSS &#8217;07</title>
		<link>http://journal.naveeng.com/2007/10/09/im-speaking-weboss-07/</link>
		<comments>http://journal.naveeng.com/2007/10/09/im-speaking-weboss-07/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 06:31:36 +0000</pubDate>
		<dc:creator>Naveen</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Kolkata]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[weboss]]></category>

		<guid isPermaLink="false">http://journal.naveeng.com/2007/10/09/im-speaking-weboss-07/</guid>
		<description><![CDATA[The first of its kind Web Technology Conference on Open Source Technologies, WEBOSS &#8217;07 is being organised in Kolkata on Saturday 13th October, 2007. I was pleasantly surprised when Hussain (Hussu) , friend of Pradeep, called upon me to ask whether I would be interested in speaking at the event. The event focuses on Web [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><a href="http://weboss07.pbwiki.com/" target="_blank"><img src="http://www.teks.co.in/weboss/logo/logo6.jpg" alt="WebOSS '07" width="177" height="104" /></a></p>
<p>The first of its kind <strong>Web Technology Conference on Open Source Technologies</strong>, <a href="http://weboss07.pbwiki.com/" target="_blank"><strong>WEBOSS &#8217;07</strong></a> is being organised in <strong>Kolkata </strong>on <strong>Saturday 13th October, 2007</strong>. I was pleasantly surprised when <a href="http://hussulinux.blogspot.com" target="_blank">Hussain</a> (Hussu) , friend of <a href="http://blog.pradeep.net.in" target="_blank">Pradeep</a>, called upon me to ask whether I would be interested in speaking at the event. The event focuses on <a href="http://en.wikipedia.org/wiki/Web_2.0" target="_blank">Web 2.0</a> technologies and is a great attempt by <a href="http://www.teks.co.in/" target="_blank">Hussu&#8217;s Teks</a> to create awareness about what standards and practices are dominating the industry today. Other speakers include <strong>Hussu </strong>himself &#8211; on <a href="http://en.wikipedia.org/wiki/Rich_Internet_application" target="_blank">RIA</a>, Choosing the right Technology and <a href="http://en.wikipedia.org/wiki/Ruby_on_Rails" target="_blank">Ruby on Rails</a> , <strong>Pradeep </strong>on <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29" target="_blank">AJAX</a>, <strong><a href="http://www.go4expert.com" target="_blank">Shabbir bhai</a> </strong>on Speeding up Web Apps.</p>
<p>I will be sharing my thoughts mostly on <a href="http://en.wikipedia.org/wiki/Perl" target="_blank">Perl</a> and <a href="http://en.wikipedia.org/wiki/Common_Gateway_Interface" target="_blank">CGI</a> with some flavour of Web 2.0 as well. Its really exciting to be a part of such a great initiative and kudos to Hussain and his team for pulling it off!</p>
<p>The venue will be <strong><a href="http://www.wbut.net/" target="_blank">WBUT </a>Main Campus (West Bengal University of Technology)</strong> in <a href="http://en.wikipedia.org/wiki/Bidhan_Nagar%2C_Kolkata" target="_blank">Salt Lake, Kolkata</a> &#8211; <a href="http://local.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=wbut+calcutta&amp;ie=UTF8&amp;ll=22.597005,88.417615&amp;spn=0.004745,0.010042&amp;t=h&amp;z=17&amp;om=1" target="_blank">Click Here</a> for Google Maps Location. So a good proportion of technology students, who will be joining the industry very soon, will be a part of the audience.</p>
<p>It is a free for all event and participation/volunteering is highly appreciated. The details of the event can be found at <a href="http://weboss07.pbwiki.com/" target="_blank">http://weboss07.pbwiki.com/</a> . So register yourself for the event and be a part of tomorrow. Sponsorships Welcome <img src='http://journal.naveeng.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://journal.naveeng.com/2007/10/09/im-speaking-weboss-07/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Multiple Yahoo Messengers simultaneously</title>
		<link>http://journal.naveeng.com/2007/10/01/multiple-yahoo-messengers-simultaneously/</link>
		<comments>http://journal.naveeng.com/2007/10/01/multiple-yahoo-messengers-simultaneously/#comments</comments>
		<pubDate>Mon, 01 Oct 2007 05:31:34 +0000</pubDate>
		<dc:creator>Naveen</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Yahoo]]></category>

		<guid isPermaLink="false">http://journal.naveeng.com/2007/10/01/multiple-yahoo-messengers-simultaneously/</guid>
		<description><![CDATA[I just received this forwarded email with instructions on how to activate multiple instances of Yahoo! Messenger on the same machine without the use of any software. I tried it out and its awesome! Working really fine. Just follow the instructions below and you are all set: Go to Start &#8212;-&#62; Run . Type regedit, [...]]]></description>
			<content:encoded><![CDATA[<p>I just received this forwarded email with instructions on how to activate multiple instances of <strong>Yahoo! Messenger</strong> on the same machine without the use of any software. I tried it out and its awesome! Working really fine. Just follow the instructions below and you are all set:</p>
<ol>
<li><strong>Go to Start &#8212;-&gt; Run . Type regedit, then enter</strong></li>
<li><strong>Navigate to HKEY_CURRENT_USER &#8212;&#8212;&#8211;&gt; Software &#8212;&gt; Yahoo!  &#8212;&#8211;&gt;pager&#8212;-&gt;Test</strong></li>
<li><strong>On the right pane , right-click and choose new Dword value</strong></li>
<li><strong>Rename it as Plural</strong></li>
<li><strong>Double click and assign a decimal value of 1</strong></li>
<li><strong>Now close registry and restart Yahoo! messenger .For signing in with new id open another messenger. Open as many messengers u need</strong></li>
</ol>
<p>The above has been tested on Windows XP and Yahoo! Messenger Version 8.1.</p>
<p>Cheers</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.naveeng.com/2007/10/01/multiple-yahoo-messengers-simultaneously/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It Ain&#8217;t Over Yet!</title>
		<link>http://journal.naveeng.com/2007/09/27/it-aint-over-yet/</link>
		<comments>http://journal.naveeng.com/2007/09/27/it-aint-over-yet/#comments</comments>
		<pubDate>Thu, 27 Sep 2007 10:07:39 +0000</pubDate>
		<dc:creator>Naveen</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[India]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Whatever]]></category>

		<guid isPermaLink="false">http://journal.naveeng.com/2007/09/27/it-aint-over-yet/</guid>
		<description><![CDATA[Perhaps I wrote my previous post (WTF!) too early! Continuing its assault of emails, the count reached a phenomenal 207!! Way to go Calcutta Telephones Click on the following image to get an idea:]]></description>
			<content:encoded><![CDATA[<p>Perhaps I wrote my <a href="http://journal.naveeng.com/2007/09/26/wtf/" target="_blank">previous post</a> (WTF!) too early! Continuing its assault of emails, the count reached a phenomenal <strong>207</strong>!! Way to go <a href="http://www.calcuttatelephones.com" target="_blank">Calcutta Telephones</a> <img src='http://journal.naveeng.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Click on the following image to get an idea:</p>
<p><a href="http://journal.naveeng.com/wp-content/uploads/2007/09/ao.jpg" title="It Ain’t Over yet!"><img src="http://journal.naveeng.com/wp-content/uploads/2007/09/ao.jpg" alt="It Ain’t Over yet!" align="middle" height="350" width="430" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://journal.naveeng.com/2007/09/27/it-aint-over-yet/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WTF!</title>
		<link>http://journal.naveeng.com/2007/09/26/wtf/</link>
		<comments>http://journal.naveeng.com/2007/09/26/wtf/#comments</comments>
		<pubDate>Wed, 26 Sep 2007 06:05:47 +0000</pubDate>
		<dc:creator>Naveen</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Whatever]]></category>

		<guid isPermaLink="false">http://journal.naveeng.com/2007/09/26/wtf/</guid>
		<description><![CDATA[(Click on the image to enlarge) I guess the guys at BSNL need a good sleep! I opened my mailbox a while ago to be shocked by the number of times the payment notification mail had been sent by their mail server. I know that it is an automated process but something is going amiss [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://journal.naveeng.com/wp-content/uploads/2007/09/wtf.JPG" title="WTF!"><img src="http://journal.naveeng.com/wp-content/uploads/2007/09/wtf.JPG" title="WTF!" alt="WTF!" align="middle" height="350" width="430" /></a></p>
<p>(<em>Click on the image to enlarge</em>)</p>
<p>I guess the guys at <a href="http://www.calcuttatelephones.com" target="_blank">BSNL</a> need a good sleep! I opened my mailbox a while ago to be shocked by the number of times the payment notification mail had been sent by their mail server. I know that it is an automated process but something is going amiss big time. Just imagine the magnitude of bandwidth and network resources this dirty exercise would have consumed, as the same would be have occurred for all customers who have opted for email notifications (and by conservative estimates, it should run into lakhs). Thank God for <a href="http://www.gmail.com" target="_blank">Gmail</a>, which has a conversation view which condensed the whole mess into just 2 rows, else 3 pages of my inbox would have been gulped by the same trash! <strong>WTF</strong>!</p>
]]></content:encoded>
			<wfw:commentRss>http://journal.naveeng.com/2007/09/26/wtf/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
