<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-22288957</id><updated>2011-11-28T06:02:09.038+05:30</updated><category term='linux'/><category term='PHP'/><category term='www'/><category term='NTFS'/><category term='Vim'/><category term='DOM'/><category term='XDebug'/><category term='javascript'/><category term='mysql'/><category term='java'/><category term='debugging'/><category term='HTML'/><category term='search'/><category term='scm'/><category term='AJAX'/><category term='windows'/><category term='lucene'/><category term='ubuntu'/><category term='APIs'/><category term='svn'/><category term='FAT'/><title type='text'>Am I Autodidact?</title><subtitle type='html'>My notes on technical stuff.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-22288957.post-6308760413267750343</id><published>2008-05-24T15:09:00.003+05:30</published><updated>2008-05-24T15:56:51.139+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='lucene'/><category scheme='http://www.blogger.com/atom/ns#' term='search'/><title type='text'>Basics: Lucene and Search</title><content type='html'>Basics about Lucene ranking -- &lt;a href="http://hudson.zones.apache.org/hudson/job/Lucene-trunk/javadoc//org/apache/lucene/search/Similarity.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mediawiki.org/wiki/User:Rainman/search_internals"&gt;Search Internals&lt;/a&gt; by user rainman on wikipedia&lt;br /&gt;&lt;br /&gt;This might also be helpful -- &lt;a href="http://www.cs.unt.edu/%7Erada/papers/mihalcea.naacl07.pdf"&gt;a thesis&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-6308760413267750343?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/6308760413267750343/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=6308760413267750343' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/6308760413267750343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/6308760413267750343'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/05/basics-lucene-and-search.html' title='Basics: Lucene and Search'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-1711592564948436690</id><published>2008-04-06T17:48:00.002+05:30</published><updated>2008-04-06T18:01:51.165+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>I/O Redirection in shell or shell scripting</title><content type='html'>You will come across this situation when you want to run a process in background. Mostly, you want to capture the output or the errors thrown by the process.&lt;br /&gt;&lt;br /&gt;As you must be already knowing, three file descriptors are available by default in any programming language. Similar is the case for a shell or shell scripting. The three are standard input (stdin), standard output (stdout) and standard error (stderr). Their corresponding file descriptors are 0, 1 and 2.&lt;br /&gt;&lt;br /&gt;You can use these file descriptors while redirecting your input/output.&lt;br /&gt;&lt;br /&gt;Syntax for redirection is as follows&lt;br /&gt;&lt;blockquote&gt;M&gt;N&lt;/blockquote&gt;# "M" is a file descriptor, which defaults to 1, if not explicitly set.&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;# "N" is a filename.&lt;span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;# File descriptor "M" is redirect to file "N."&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Example: To redirect stdout to filename&lt;br /&gt;&lt;blockquote&gt;1&gt;filename&lt;/blockquote&gt;To redirect stderr to errorlog&lt;br /&gt;&lt;blockquote&gt;2&gt;errorlog&lt;/blockquote&gt;&lt;br /&gt;Another format is &lt;blockquote&gt;M&gt;&amp;amp;N&lt;/blockquote&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;# "M" is a file descriptor, which defaults to 1, if not set.&lt;span&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family: monospace;"&gt;&lt;br /&gt;&lt;/span&gt;# "N" is another file descriptor.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Example: To redirect both stderr and stdout to the same file&lt;br /&gt;&lt;blockquote&gt;1&gt;somefile 2&gt;&amp;amp;1&lt;/blockquote&gt;&lt;br /&gt;More about I/O redirection &lt;a href="http://tldp.org/LDP/abs/html/io-redirection.html"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-1711592564948436690?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/1711592564948436690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=1711592564948436690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/1711592564948436690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/1711592564948436690'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/04/io-redirection-in-shell-or-shell.html' title='I/O Redirection in shell or shell scripting'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-1031873930304860684</id><published>2008-04-06T15:17:00.002+05:30</published><updated>2008-04-06T16:50:45.032+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='mysql'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>MySQL: Purge Master Logs</title><content type='html'>Binary logs sometime take up too much space on the server. I wanted space so I had to delete the database logs. They were taking up around 2GB space.&lt;br /&gt;&lt;br /&gt;http://dev.mysql.com/doc/refman/5.0/en/purge-master-logs.html --&gt; this link will tell you how to delete the logs.&lt;br /&gt;&lt;br /&gt;If you want to turn off the logs, then edit /var/mysql/my.cnf on Ubuntu and comment out the following lines&lt;br /&gt;&lt;ul&gt;&lt;li&gt;line starting with log_bin&lt;/li&gt;&lt;li&gt;line starting with expire_log_days&lt;/li&gt;&lt;li&gt;line starting with max_binlog_size&lt;/li&gt;&lt;/ul&gt;If you want to save space and also want the logs then you can ignore commenting log_bin line and try reducing the values for expire_log_days and max_binlog_size.&lt;br /&gt;&lt;br /&gt;expire_log_days will tell you the number of days for which the logs will be kept. If it's value is 2. Then all logs older than 2 days will be deleted.&lt;br /&gt;&lt;br /&gt;max_binlog_size is the maximum size of the log file. If a log file reaches this limit, then a new log file will be created and appended to. Note, the old log file will not be deleted unless expire_log_days condition satisfies.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-1031873930304860684?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/1031873930304860684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=1031873930304860684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/1031873930304860684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/1031873930304860684'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/04/mysql-purge-master-logs.html' title='MySQL: Purge Master Logs'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-4193009172767662584</id><published>2008-04-01T23:35:00.005+05:30</published><updated>2008-04-06T18:05:16.151+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Move running process to background in Linux</title><content type='html'>Use the following sequence of keystrokes if you want to move a running process to background in Linux.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;CTRL+Z&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;bg&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;CTRL+Z will suspend the process and the command prompt will return to you. Type bg and press enter to send the process to background.&lt;br /&gt;&lt;br /&gt;If you want to logout but keep the process running even after logging out then type &lt;span style="font-style: italic;"&gt;disown -a.&lt;/span&gt; This will detach the process and it will continue to run even if you log out.&lt;br /&gt;&lt;br /&gt;To start a process in detached mode, use nohup command.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;nohup &amp;lt;command to start the process&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;man nohup for more details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-4193009172767662584?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/4193009172767662584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=4193009172767662584' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/4193009172767662584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/4193009172767662584'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/04/move-running-process-to-background-in.html' title='Move running process to background in Linux'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-3060128372697853321</id><published>2008-02-27T22:34:00.003+05:30</published><updated>2008-04-06T18:04:36.434+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='scm'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Ignoring files in subversion</title><content type='html'>Two lessons for today&lt;br /&gt;&lt;ol&gt;&lt;li&gt;How to ignore files in subversion&lt;/li&gt;&lt;li&gt;How to create a transcript&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;1. How to ignore files in subversion&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;To ignore a directory: &lt;span style="font-style: italic;"&gt;svn propedit svn:ignore &lt;parentdir&gt;&lt;/parentdir&gt;&lt;/span&gt;&lt;/blockquote&gt;The above command will open an editor, add the directory you want to ignore in the editor and exit from the editor. Note that the directory you are trying to ignore is not added to the repository or else it won't work.&lt;br /&gt;&lt;blockquote&gt;To ignore a file: &lt;span style="font-style: italic;"&gt;svn propedit svn:ignore &lt;directory&gt;&lt;/directory&gt;&lt;/span&gt;&lt;/blockquote&gt;Again in the editor, add the files you want to ignore and exit. You can even use wildcards when you enter the file names. Ex: '*' to ignore all the files in the directory.&lt;br /&gt;&lt;br /&gt;I have shown a method to ignore files using propedit. The same can be done using propset also. Details are &lt;a href="http://kitt.hodsden.com/svn/ignoring_files_in_subversion_repositories"&gt;here&lt;/a&gt; and &lt;a href="http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.3"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;2. How to create a transcript&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;You will most probably be asked for a transcript while you are asking for help on IRC channels. Transcript is a copy of the text printed on the terminal. Whatever you have typed and whatever has been printed to the terminal by the commands that you executed.&lt;br /&gt;&lt;br /&gt;The simplest way to create a transcript in Linux is to run the &lt;span style="font-style: italic;"&gt;script&lt;/span&gt; command. After running the &lt;span style="font-style: italic;"&gt;script&lt;/span&gt; command, run/type whatever commands you want to and when done, type &lt;span style="font-style: italic;"&gt;'exit'&lt;/span&gt; to stop the &lt;span style="font-style: italic;"&gt;script&lt;/span&gt;. A file with the name &lt;span style="font-style: italic;"&gt;typescript&lt;/span&gt; is created which will have the transcript of whatever you have done on the terminal.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-3060128372697853321?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/3060128372697853321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=3060128372697853321' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/3060128372697853321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/3060128372697853321'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/ignoring-files-in-subversion.html' title='Ignoring files in subversion'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-360001781562357475</id><published>2008-02-19T17:41:00.001+05:30</published><updated>2008-04-06T18:03:50.204+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Use your GPRS phone as modem in Ubuntu</title><content type='html'>&lt;a href="http://atunu.blogspot.com/2008/02/linux-redux-use-your-gprs-phone-as.html"&gt;'Bunch of me: Linux Redux: Use your GPRS phone as modem in Ubuntu&lt;/a&gt; tells how to do it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-360001781562357475?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/360001781562357475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=360001781562357475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/360001781562357475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/360001781562357475'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/use-your-gprs-phone-as-modem-in-ubuntu.html' title='Use your GPRS phone as modem in Ubuntu'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-3579474424766246607</id><published>2008-02-19T16:56:00.002+05:30</published><updated>2008-02-19T17:00:18.468+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Configuring Bluetooth on Ubuntu</title><content type='html'>This &lt;a href="http://www.linuxquestions.org/linux/answers/Hardware/Bluetooth_Transferring_and_receiving_files_under_Ubuntu"&gt;article&lt;/a&gt; on LinuxQuestions.org explains clearly how to configure bluetooth on Ubuntu to send/receive files to/from bluetooth devices and also how to set up bluetooth keyboard and mouse.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-3579474424766246607?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/3579474424766246607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=3579474424766246607' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/3579474424766246607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/3579474424766246607'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/configuring-bluetooth-on-ubuntu.html' title='Configuring Bluetooth on Ubuntu'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-2155614831562211114</id><published>2008-02-19T16:48:00.002+05:30</published><updated>2008-02-19T16:56:18.738+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Few useful linux commands</title><content type='html'>- To see how long your machine has been running&lt;br /&gt;                    $ uptime&lt;br /&gt;- To see some computer stats&lt;br /&gt;                    $ lspci&lt;br /&gt;- To see system temperature and battery charge&lt;br /&gt;                    $ acpi -t&lt;br /&gt;- To see a list of all running processes&lt;br /&gt;                    $ ps aux&lt;br /&gt;- To view the current date, time and year&lt;br /&gt;                    $ date&lt;br /&gt;- For a simple calendar&lt;br /&gt;                    $ cal&lt;br /&gt;- To see what programs are running with path names&lt;br /&gt;                    $ ps -aux&lt;br /&gt;- To see your current IP address&lt;br /&gt;                    $ ifconfig -a&lt;br /&gt;- To see what your system is doing at startup&lt;br /&gt;                    $ dmesg&lt;br /&gt;- To see information about the computer users&lt;br /&gt;                    $ finger -l&lt;br /&gt;&lt;br /&gt;More commands later...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-2155614831562211114?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/2155614831562211114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=2155614831562211114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/2155614831562211114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/2155614831562211114'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/few-useful-linux-commands.html' title='Few useful linux commands'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-2655242797194658988</id><published>2008-02-14T15:37:00.003+05:30</published><updated>2008-02-14T15:50:03.256+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='APIs'/><title type='text'>Social Graph API</title><content type='html'>Social Graph API is something to check out. &lt;a href="http://google-code-updates.blogspot.com/2008/02/urls-are-people-too.html"&gt;Here&lt;/a&gt; is a blog from Google Code Blog. I haven't checked it out yet but plan to do so soon. I hope it does what it claims to do and does that well.&lt;br /&gt;&lt;br /&gt;If you are wondering what this API does, here is a snippet from Google's blog entry.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;we crawl the Web to find publicly declared relationships between people's accounts, just like Google crawls the Web for links between pages. But instead of returning links to HTML documents, the API returns JSON data structures representing the social relationships we discovered from all the XFN and FOAF. When a user signs up for your app, you can use the API to remind them who they've said they're friends with on other sites and ask them if they want to be friends on your new site.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-2655242797194658988?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/2655242797194658988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=2655242797194658988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/2655242797194658988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/2655242797194658988'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/social-graph-api.html' title='Social Graph API'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-5884623903422872535</id><published>2008-02-13T14:29:00.004+05:30</published><updated>2008-02-13T15:03:51.497+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Social application for Orkut</title><content type='html'>I have checked out &lt;a href="http://code.google.com/apis/opensocial/"&gt;Open Social&lt;/a&gt;, a common set of APIs which can be used to build social applications that work across multiple websites. I think it is really cool and at the same time not so good.&lt;br /&gt;&lt;br /&gt;I think it is cool because, there will be a lot of applications that will be created for Orkut now, just like those you find on Facebook. But at the same time, the saddest part is  that there will be many useless applications which will clutter the site and confuse everybody.&lt;br /&gt;&lt;br /&gt;Google has &lt;a href="http://googleblog.blogspot.com/2008/02/orkut-going-more-social.html"&gt;announced&lt;/a&gt; that Open Social applications will be available to users now. So, gear up and be ready to see it on your Orkut login sometime soon. Earlier, these were available only in the &lt;a href="http://sandbox.orkut.com"&gt;sandbox&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Well, I am looking forward for an application which could allow you to tag and share photos from your friends' albums. I really like few photos from my friend's photo album and would like to tag them so that I can easily see them when I want and also would like to allow our common friends to see what I have tagged. Hoping to see if something similar would be available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-5884623903422872535?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/5884623903422872535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=5884623903422872535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/5884623903422872535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/5884623903422872535'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/social-application-for-orkut.html' title='Social application for Orkut'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-8947931893491524210</id><published>2008-02-13T13:37:00.003+05:30</published><updated>2008-02-13T14:28:34.807+05:30</updated><title type='text'>Grand Challenges for Engineering</title><content type='html'>National Academy of Engineering has a &lt;a href="http://www.engineeringchallenges.org/"&gt;special site&lt;/a&gt; where in it will publish the grand challenges for engineering for the 21st century. The committee members are selected from varied fields. I am really looking forward to see what the grand challenges will be.&lt;br /&gt;&lt;br /&gt;The challenges identified will be published to the website on 15th Feb, so don't forget to check them out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-8947931893491524210?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/8947931893491524210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=8947931893491524210' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/8947931893491524210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/8947931893491524210'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/grand-challenges-for-engineering.html' title='Grand Challenges for Engineering'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-2345559887352502732</id><published>2008-02-09T01:00:00.000+05:30</published><updated>2008-02-09T14:50:00.844+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Accessing ext2 or ext3 file systems on windows</title><content type='html'>Ext2 or Ext3 file systems are commonly used by the Linux operating system. Support for these file systems is not by default built in to windows operating systems.&lt;br /&gt;&lt;br /&gt;I remember trying to access windows file systems (FAT and NTFS) from linux and linux file systems (ext2 and ext3) from windows while I was in college. Back then, there wasn't a stable driver for NTFS on linux. Drivers could read from NTFS partitions but weren't stable enought for writing to it. But now, there are drivers that can read/write to both FAT/NTFS and are pretty stable. And you can find these drivers included in linux distributions by default.&lt;br /&gt;&lt;br /&gt;I was surprised to see the windows drives mounted automatically on ubuntu and delighted to find out that I could write to those drives. This solved half my problems of sharing data between my two operating systems - windows vista and ubuntu linux. I was further delighted after seeing the search results for "accessing ext3 from windows". I found three results useful. The first one was for &lt;a href="http://www.chrysocome.net/explore2fs"&gt;Explore2fs&lt;/a&gt; - a GUI tool for accessing ext2/ext3 file systems from windows. I had already used this while I was in college and know it's limitations. Windows programs cannot access those file systems, and files had to be copied to a windows drive to be accessed from programs. The other two results (Ext2 file system drivers) were of much interest to me this time. I chose &lt;a href="http://www.fs-driver.org/"&gt;Stephan Schreiber's implementation&lt;/a&gt; and installed it on vista. This implementation comes with an installer. Can be uninstalled from Add/Remove programs. Provides the ability to mount the file systems in read only mode along with support for large files (files larger than 2GB). My linux partition was mounted as a new drive and I could access it from all windows programs just as other windows drives. Now, I no longer have to worry about where to put my data so that it can be easily accessed from both the operating systems.&lt;br /&gt;&lt;br /&gt;FYI, the ext2 file system driver I didn't mention above was &lt;a href="http://sourceforge.net/projects/ext2fsd"&gt;Ext2Fsd&lt;/a&gt;, an open source project available on sourgeforge.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-2345559887352502732?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/2345559887352502732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=2345559887352502732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/2345559887352502732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/2345559887352502732'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/accessing-ext2-or-ext3-file-systems-on.html' title='Accessing ext2 or ext3 file systems on windows'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-456538838173352463</id><published>2008-02-07T16:15:00.000+05:30</published><updated>2008-02-09T02:00:37.437+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Customizing search in Windows XP to index files with unknown file extensions</title><content type='html'>&lt;!-- google_ad_section_start --&gt;First of all, why would you want to customize search in Windows XP to index files with unknown file extensions?&lt;br /&gt;&lt;br /&gt;Assume you have a java file (a file with a .java extension) and when you perform a search, text in this file is not searched. Why? Because it is an unknown file extension for Windows XP and it will not index this file. I know it is a plain text file and should be searched but it is not.&lt;br /&gt;&lt;br /&gt;Perform the following to enable windows to index files with unknown extensions&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Goto &lt;span style="font-family:courier new;"&gt;Start&lt;/span&gt; -&gt; &lt;span style="font-family:courier new;"&gt;Search&lt;/span&gt; -&gt; &lt;span style="font-family:courier new;"&gt;Change preferences&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Click on &lt;span style="font-family:courier new;"&gt;With Indexing Service (for faster local searches)&lt;/span&gt; or &lt;span style="font-family:courier new;"&gt;Without Indexing Service&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Select &lt;span style="font-family:courier new;"&gt;Yes, enable Indexing Service&lt;/span&gt;. It might already be selected if it was &lt;span style="font-family:courier new;"&gt;Without Indexing Service&lt;/span&gt; in the previous step.&lt;/li&gt;&lt;li&gt;Click on &lt;span style="font-family:courier new;"&gt;Change Indexing Service settings (Advanced)&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;In the Indexing service window goto &lt;span style="font-family:courier new;"&gt;view&lt;/span&gt; menu and click on &lt;span style="font-family:courier new;"&gt;customize&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;In the Customize View window check &lt;span style="font-family:courier new;"&gt;Console tree&lt;/span&gt; check box under the MMC section and click on ok.&lt;/li&gt;&lt;li&gt;Right click on &lt;span style="font-family:courier new;"&gt;Indexing Service on Local Machine&lt;/span&gt; and select &lt;span style="font-family:courier new;"&gt;properties&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;On the generation tab, check &lt;span style="font-family:courier new;"&gt;Index files with unknown extensions&lt;/span&gt; check box and click on ok.&lt;/li&gt;&lt;li&gt;Close the Indexing Service window and click on ok in the search window.&lt;/li&gt;&lt;li&gt;Click on &lt;span style="font-family:courier new;"&gt;All files and folders&lt;/span&gt; and start searching. It will find any word in any file with any extension.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;!-- google_ad_section_end --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-456538838173352463?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/456538838173352463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=456538838173352463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/456538838173352463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/456538838173352463'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/customizing-search-in-windows-xp-to.html' title='Customizing search in Windows XP to index files with unknown file extensions'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-7271117132790528822</id><published>2008-02-06T14:12:00.000+05:30</published><updated>2008-02-06T20:06:27.772+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='DOM'/><title type='text'>Responding to DOM Events using Javascript</title><content type='html'>Responding to events occurring on a web page using javascript is a necessity these days rather than a preference. Look at the various popular websites today and you will realize that. So, I set out to explore this a little and the following is what I have learned for the first phase, if you want to say so.&lt;br /&gt;&lt;br /&gt;A simple example of an event that can occur on a web page is a &lt;span style="font-style: italic;"&gt;mousemove &lt;/span&gt;event that occurs when the mouse is moved. Events can be organized into three major categories -&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;UI events&lt;/span&gt; - generated by user interaction through an external device (mouse, keyboard, etc.)&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;UI Logical events&lt;/span&gt; - device independent user interface events such as focus change messages or element triggering notifications.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;Mutation events&lt;/span&gt; - caused by any action which modifies the structure of the document.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Event Propagation&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let us look at the event flow before we jump into the details of event listener registration.&lt;br /&gt;&lt;br /&gt;Once an event originates, it is passed through the Document Object Model in three phases -&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;The capturing phase&lt;/span&gt; - the event is first sent to the window, then to the document, followed by each ancestor of the DOM element where the event occurred downwards until it reaches that element.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;The target phase&lt;/span&gt; - the event is sent to the target DOM element. Target element is the one on which the event has occurred. For example, the target element for a click event is the element which is clicked.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;The bubbling phase&lt;/span&gt; - the event is sent to each element back upwards until it reaches the window again.&lt;/li&gt;&lt;/ol&gt;The below image shows how the event is propagated through the three phases. Let us assume that a mouse click event has occurred on the table element. Shaded elements show the order in which the event is propagated. The propagation of the event will start with the capturing phase. Any event listener registered on the window will be called to handle the event followed by document, html, body and so on until the parent of the target element is reached. The target element in this case is the table. This ends the capturing phase after which the target phase starts. In this phase, any click event listener registered on the table element will be called. In the bubbling phase, the event propagates back to the top calling any event listeners registered for the mouse click event.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_hTIAXdJi6Po/R6mR0SLjVSI/AAAAAAAAAj4/0joZpWFYbCc/s1600-h/phases.PNG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 197px;" src="http://4.bp.blogspot.com/_hTIAXdJi6Po/R6mR0SLjVSI/AAAAAAAAAj4/0joZpWFYbCc/s400/phases.PNG" alt="" id="BLOGGER_PHOTO_ID_5163818775176500514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;An event listener being registered on an element may choose to have that listener capture events by specifying the &lt;span style="font-family:courier new;"&gt;useCapture&lt;/span&gt; parameter of the &lt;span style="font-family:courier new;"&gt;addEventListener &lt;/span&gt;method to be &lt;span style="font-family:courier new;"&gt;true&lt;/span&gt;.&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Any event handler may choose to prevent further event propagation by calling the &lt;span style="font-family:courier new;"&gt;stopPropagation&lt;/span&gt; method of the event object. If any event listener calls this method, all additional listeners on the current element will be triggered but bubbling will cease at that level. Only one call to &lt;span style="font-family:courier new;"&gt;stopPropagation&lt;/span&gt; is required to prevent further bubbling.&lt;br /&gt;&lt;br /&gt;Some events are cancelable. These events have a default action associated with them. An example of this is a hyperlink in a web browser. When the user clicks on the hyperlink the default action is generally to activate that hyperlink. Event listeners have the option of canceling the implementation's default action or allowing the default action to proceed. Cancellation is accomplished by calling the event object's &lt;span style="font-family:courier new;"&gt;preventDefault&lt;/span&gt; method. If one or more event listeners call &lt;span style="font-family:courier new;"&gt;preventDefault&lt;/span&gt; during any phase of event flow the default action will be canceled.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Registering Event Listeners&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are two ways to attach an event listener to an element. First, by using an attribute with script as its value. Second, by calling an element's &lt;span style="font-family:courier new;"&gt;addEventListener&lt;/span&gt; method. The former may only handle bubbling events but tends to be simpler to write. The latter can handle events at any phase and may also be used to attach multiple listeners for an event to an element.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Attribute Event Listeners&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To use the attribute form, place an attribute on the element where you want the event listener to be, the name of which should be the event name preceded by the word 'on'. For example, the corresponding attribute for the 'click' event is 'onclick'. The value of the attribute should be some script that should be executed when the event occurs. Typically, this code will be short and just call a function defined in a separate script. An example of responding to a button being pressed:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&amp;lt;input type="button" label="OK" onclick="alert('Button was pressed!');" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Since the click event will bubble, it is also possible to place the event listener on an enclosing element. In the example below, the listener has been placed on a div and will receive events for both elements.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&amp;lt;div onclick="alert(event.target.tagName);"&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&amp;lt;input type="button" label="OK" /&amp;gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt; &lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt; &lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;  &amp;lt;p&amp;gt;This is a paragraph&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this example, the click event will bubble up from the button or paragraph to the div, where it is handled. If a second listener (the &lt;span style="font-family:courier new;"&gt;onclick&lt;/span&gt; attribute) were placed on the button, its code will be called first, followed by the handler on the div. Event handlers are passed the &lt;a href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Event"&gt;event&lt;/a&gt; object as an implied argument called 'event'. This is used to get specific information about the event. One commonly used property is the 'target' property of the event, which holds the element where the event actually occured. In the example we display an alert containing the target's tag name. The target is useful when using a bubbling event so that you could have a set of buttons which are all handled by a single script.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DOM Event Listeners&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The second way to add an event handler is to call an element's &lt;span style="font-family:courier new;"&gt;addEventListener&lt;/span&gt; method. This allows you to attach an event listener dynamically and listen for events during the capturing phase. The syntax is as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:courier new;font-size:85%;"  &gt;&amp;lt;input type="button" id="okbutton" label="OK"/&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;function buttonPressed(event){&lt;br /&gt;  alert('Button was pressed!');&lt;br /&gt;}&lt;br /&gt;var button = document.getElementById("okbutton");&lt;br /&gt;button.addEventListener('click', buttonPressed, true);&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-family:courier new;"&gt;getElementById()&lt;/span&gt; function returns the element with a given id, in this case the button. The &lt;span style="font-family:courier new;"&gt;addEventListener()&lt;/span&gt; function is called to add a new capturing event listener. The first argument is the name of the event to listen to. The second argument is the event listener function which will be called when the event occurs. Finally, the last argument should be &lt;span style="font-family:courier new;"&gt;true&lt;/span&gt; for capturing listeners. You can also listen during the bubbling phase by setting the last argument to &lt;span style="font-family:courier new;"&gt;false&lt;/span&gt;. The event listener function passed as the second argument should take one argument, the &lt;a href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Event"&gt;event &lt;/a&gt;object, as shown in the declaration for the &lt;span style="font-family:courier new;"&gt;buttonPressed&lt;/span&gt; function above.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note:&lt;/span&gt; addEventListener will not work with Internet Explorer, you need to use attachEvent instead.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;References:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/DOM-Level-2-Events/events.html"&gt;Document Object Model Events&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://developer.mozilla.org/en/docs/XUL_Tutorial:Adding_Event_Handlers"&gt;Adding Event Handler&lt;/a&gt; from the XUL tutorial&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Registering event handlers section is taken from XUL tutorial mentioned as the second reference above.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-7271117132790528822?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/7271117132790528822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=7271117132790528822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/7271117132790528822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/7271117132790528822'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/responding-to-dom-events-using.html' title='Responding to DOM Events using Javascript'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_hTIAXdJi6Po/R6mR0SLjVSI/AAAAAAAAAj4/0joZpWFYbCc/s72-c/phases.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-7822374811215273605</id><published>2008-02-04T23:41:00.000+05:30</published><updated>2008-02-06T20:12:59.307+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><category scheme='http://www.blogger.com/atom/ns#' term='Vim'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='XDebug'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><title type='text'>How to Debug PHP with Vim and XDebug on Linux</title><content type='html'>XDebug is definitely a wonderful tool for debugging PHP. I tried using Eclipse IDE for remote debugging but it had some version conflicts and so I searched for some other IDE but I didn't imagine that Vim will turn out to be the one.&lt;br /&gt;&lt;br /&gt;This &lt;a href="http://tech.blog.box.net/2007/06/20/how-to-debug-php-with-vim-and-xdebug-on-linux/"&gt;Box.net blog&lt;/a&gt; tells you how to do debug PHP with Vim and XDebug on Linux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-7822374811215273605?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/7822374811215273605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=7822374811215273605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/7822374811215273605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/7822374811215273605'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2008/02/how-to-debug-php-with-vim-and-xdebug-on.html' title='How to Debug PHP with Vim and XDebug on Linux'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-3197375762964005228</id><published>2007-11-10T16:02:00.000+05:30</published><updated>2008-02-06T20:10:42.650+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Java on Ubuntu</title><content type='html'>Ubuntu has GCJ installed by default. A different version of Java can be installed using the Synaptic Package Manager. Sun's Java 1.5 and 1.6 are available through the package manager.&lt;br /&gt;&lt;br /&gt;The problem is, even after installing Sun's Java, GCJ is the default.&lt;br /&gt;&lt;br /&gt;The default version of java can be changed using the &lt;span style="font-style:italic;"&gt;update-java-alternatives&lt;/span&gt; command.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;update-java-alternatives -l&lt;/code&gt; will give the list of all installed java packages.&lt;br /&gt;   example output:&lt;code&gt;&lt;br /&gt;   java-1.5.0-sun 53 /usr/lib/jvm/java-1.5.0-sun&lt;br /&gt;   java-gcj 1042 /usr/lib/jvm/java-gcj&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;code&gt;update-java-alternatives -s java-1.5.0-sun&lt;/code&gt; will set Sun's java as the default.&lt;br /&gt;&lt;br /&gt;For some applications like Ant, Tomcat to run, you nee to set the &lt;span style="font-style:italic;"&gt;JAVA_HOME&lt;/span&gt; environment variable like below&lt;br /&gt;&lt;code&gt;export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The above export can be put in &lt;span style="font-style:italic;"&gt;/etc/bash.bashrc&lt;/span&gt; (for all users) or &lt;span style="font-style:italic;"&gt;/home/&amp;lt;user&amp;gt;/.bashrc&lt;/span&gt; (for a particular user) so that &lt;span style="font-style:italic;"&gt;JAVA_HOME&lt;/span&gt; is available on logon.&lt;br /&gt;&lt;/user&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-3197375762964005228?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/3197375762964005228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=3197375762964005228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/3197375762964005228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/3197375762964005228'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2007/11/java-on-ubuntu.html' title='Java on Ubuntu'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-8163542878338319790</id><published>2007-08-08T12:52:00.001+05:30</published><updated>2008-02-06T20:02:40.094+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>A Roundup of Free Operating Systems</title><content type='html'>By David Chisnall&lt;br /&gt;&lt;br /&gt;Whenever people think of a free operating system (if they do), the odds are that they will think of Linux, a clone of UNIX from 1991. They also might think of one or more of the BSDs, UNIX-derivatives dating back to the early ’80s. Let’s face it, though—UNIX is pretty boring. It was great for a PDP-11, and it gets the job done now, but it’s not exactly exciting.&lt;br /&gt;Fortunately, the Free Software community has some much more interesting projects which, even if they might not be as useful, are much more fun.&lt;br /&gt;&lt;br /&gt;Complete article is &lt;a href="http://www.informit.com/articles/printerfriendly.asp?p=768380"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(c) Article is provided courtesy of Prentice Hall PTR.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-8163542878338319790?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/8163542878338319790/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=8163542878338319790' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/8163542878338319790'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/8163542878338319790'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2007/08/roundup-of-free-operating-systems.html' title='A Roundup of Free Operating Systems'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-115140657156392193</id><published>2006-06-28T05:00:00.000+05:30</published><updated>2008-02-06T20:03:44.339+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>Search for Selected Text</title><content type='html'>Highlight text in any web page and search for it on Google with the click of a button.&lt;br /&gt;&lt;br /&gt;Start by creating a new button on your browser's links bar and naming it "Search Google" or  something similar.&lt;br /&gt;&lt;br /&gt;Next, if you’re using Mozilla, Firefox, or Netscape, place this JavaScript code (all on one line) into the button’s location field:&lt;br /&gt;&lt;blockquote&gt;javascript: s = document.getSelection( );&lt;br /&gt;for(i = 0; i &amp;lt; frames.length; i++) {&lt;br /&gt;s = frames[i].document.getSelection( );&lt;br /&gt;}&lt;br /&gt;location.href = 'http://www.google.com/search?q='+escape(s);&lt;br /&gt;&lt;/blockquote&gt;If you’re using Internet Explorer, you’ll need this code:&lt;br /&gt;&lt;blockquote&gt;javascript: s = (document.frames.length ? ' ':&lt;br /&gt;document.selection.createRange( ).text);&lt;br /&gt;for(i = 0; i &amp;lt; document.frames.length; i++) {&lt;br /&gt;s=document.frames[i].document.selection.createRange( ).text;&lt;br /&gt;}&lt;br /&gt;location.href = 'http://www.google.com/search?q='+escape(s);&lt;br /&gt;&lt;/blockquote&gt;Next, open any web page, highlight some text, and click your new search button. The next thing you’ll see is a search results page with items matching your selected text.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Bug: &lt;/span&gt;This doesn't work when there are frames in the webpage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-115140657156392193?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/115140657156392193/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=115140657156392193' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/115140657156392193'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/115140657156392193'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2006/06/search-for-selected-text.html' title='Search for Selected Text'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-114646867593462082</id><published>2006-05-01T12:58:00.000+05:30</published><updated>2008-02-06T20:05:51.290+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='NTFS'/><category scheme='http://www.blogger.com/atom/ns#' term='FAT'/><title type='text'>Converting FAT volumes to NTFS</title><content type='html'>The &lt;span style="font-style: italic;"&gt;convert&lt;/span&gt; command converts FAT volumes to NTFS. This command is run from the command prompt.&lt;br /&gt;&lt;br /&gt;ex: &lt;span style="font-style: italic;"&gt;convert D: /FS:NTFS&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;/span&gt;- will convert D: from FAT to NTFS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-114646867593462082?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/114646867593462082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=114646867593462082' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/114646867593462082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/114646867593462082'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2006/05/converting-fat-volumes-to-ntfs.html' title='Converting FAT volumes to NTFS'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-114572297651922915</id><published>2006-04-22T21:45:00.000+05:30</published><updated>2008-02-06T20:01:25.914+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Getting rid of java.lang.OutOfMemoryError</title><content type='html'>Most JVMs allocate memory on the heap for almost everything, except for reflective data. That is put in a separate location which is a section of the heap that is reserved for permanent generation. This gets easily filled up when you dynamically load an unload classes, or have a large number of classes. Simply add the following options to the &lt;code&gt;java&lt;/code&gt; executable and all worries will be gone:&lt;br /&gt;&lt;blockquote&gt;-XX:PermSize=256M -XX:MaxPermSize=256M&lt;/blockquote&gt;The entire command looks like this:&lt;br /&gt;&lt;blockquote&gt;java -server -Djava.awt.headless=true -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxPermSize=256M&lt;/blockquote&gt;&lt;a href="http://publib.boulder.ibm.com/infocenter/ws60help/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/tprf_tunejvm.html"&gt;&lt;span style="text-decoration: underline;"&gt;Read This&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-114572297651922915?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/114572297651922915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=114572297651922915' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/114572297651922915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/114572297651922915'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2006/04/getting-rid-of-javalangoutofmemoryerro.html' title='Getting rid of java.lang.OutOfMemoryError'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-114362897310187635</id><published>2006-03-29T15:59:00.000+05:30</published><updated>2008-02-06T20:00:54.875+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Print system information under Linux</title><content type='html'>'uname' prints information about the machine and operating system it is run on.&lt;br /&gt;&lt;blockquote&gt;% uname -a&lt;br/&gt;&lt;br /&gt;Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:18:24 EST 2003 i686 athlon i386 GNU/Linux&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Use this command if you want to know any of the following information&lt;br /&gt;&lt;blockquote&gt;kernel name&lt;br /&gt;network node hostname&lt;br /&gt;kernel release&lt;br /&gt;kernel version&lt;br /&gt;machine hardware name&lt;br /&gt;processor type&lt;br /&gt;hardware platform&lt;br /&gt;operating system&lt;/blockquote&gt;&lt;br /&gt;If you are interested in knowing information about the kernel distribution then use `cat /etc/issue` The output of which will be something as below (on Red Hat ofcourse)&lt;br /&gt;&lt;blockquote&gt;Red Hat Linux release 9 (Shrike)&lt;br /&gt;Kernel \r on an \m&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-114362897310187635?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/114362897310187635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=114362897310187635' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/114362897310187635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/114362897310187635'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2006/03/print-system-information-under-linux.html' title='Print system information under Linux'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-114190259176385117</id><published>2006-03-09T16:29:00.000+05:30</published><updated>2008-02-06T20:00:54.875+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Proxy Settings - Enviroment Variables</title><content type='html'>Proxy can be set up using environment variables automatically for all users by creating the following file,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;span style="font-weight:bold;"&gt;/etc/profile.d/proxyenv.sh&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;http_proxy="192.168.36.204:8080"&lt;br /&gt;https_proxy="192.168.36.204:8080"&lt;br /&gt;ftp_proxy="192.168.36.204:8080"&lt;br /&gt;&lt;br /&gt;export http_proxy, https_proxy, ftp_proxy&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;If you are using csh instead of bash then create the following file,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;span style="font-weight:bold;"&gt;/etc/profile.d/proxyenv.csh&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style:italic;"&gt;setenv http_proxy="192.168.36.204:8080"&lt;br /&gt;setenv https_proxy="192.168.36.204:8080"&lt;br /&gt;setenv ftp_proxy="192.168.36.204:8080"&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Reference: &lt;a href="http://linux.ncl.ac.uk/proxy/"&gt;Unofficial ISS Linux Web Pages&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-114190259176385117?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/114190259176385117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=114190259176385117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/114190259176385117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/114190259176385117'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2006/03/proxy-settings-enviroment-variables.html' title='Proxy Settings - Enviroment Variables'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-114189478428228608</id><published>2006-03-09T14:06:00.000+05:30</published><updated>2008-02-06T19:59:40.179+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Converting HTML to text</title><content type='html'>I have used the following two scripts and found them to be not very impressive.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aaronsw.com/2002/html2text/"&gt;html2text (Python script)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.greenend.org.uk/rjk/2000/10/html2text.html"&gt;Html2text (Perl script)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Python script converts a HTML page into &lt;a href="http://daringfireball.net/projects/markdown/"&gt;Markdown&lt;/a&gt; (a text-to-HTML format) which I don't want. I want text only.&lt;br /&gt;&lt;br /&gt;The Perl script requires the input to be "normalized" by a program such as &lt;a href="http://www.jclark.com/sp/sgmlnorm.htm"&gt;sgmlnorm&lt;/a&gt; before it could process it. Apart from this, the script doesn't work well for all the documents. It is limited to certain tags and has to be modified to get it to work for other tags. The text between the tags that are not handled just vanish from the output. Lets see if I can modify it to work for my documents atleast.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-114189478428228608?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/114189478428228608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=114189478428228608' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/114189478428228608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/114189478428228608'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2006/03/converting-html-to-text.html' title='Converting HTML to text'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-113971524279136979</id><published>2006-02-12T08:43:00.000+05:30</published><updated>2008-02-06T20:14:14.131+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='www'/><title type='text'>Why is there a size limit on file uploads?</title><content type='html'>A potential problem with form processing scripts is that, by default, they attempt to process form POSTings no matter how large they are. A wily hacker could attack your site by sending a huge POST of many megabytes. The script will attempt to read the entire POST thus growing hugely in size until it runs out of memory. While the script attempts to allocate the memory the system may slow down dramatically. This is a form of denial fo service attack.&lt;br /&gt;&lt;br /&gt;Another possible attack is for the remote user to force the script to accept a huge file upload. The script will accept the upload and store it in a temporary directory even if your script doesn't expect to receive an uploaded file. The file will be deleted automatically when the script terminates, but in the meantime the remote user may have filled up the server's disk space, causing problems for other programs.&lt;br /&gt;&lt;br /&gt;The best way to avoid denail of service attacks is to limit the amount of memory, CPU time and disk space that the scripts can use. Some Web servers come with built-in facilities to accomplish this. In other cases, you can should use commands to put ceilings on resource usage.&lt;br /&gt;&lt;br /&gt;Most servers try to avoid denial of service attacks by limiting resource usage and so there is a size limit on file uploads.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-113971524279136979?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/113971524279136979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=113971524279136979' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/113971524279136979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/113971524279136979'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2006/02/why-is-there-size-limit-on-file.html' title='Why is there a size limit on file uploads?'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22288957.post-113964252175984073</id><published>2006-02-11T12:48:00.000+05:30</published><updated>2008-02-06T20:14:14.132+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='www'/><title type='text'>Building dictionary from the web</title><content type='html'>&lt;div style="text-align: justify; font-family: arial;"&gt; &lt;div style="text-align: left;"&gt;&lt;span style="font-size: 12pt;"&gt;Initially a small collection of "seed" texts are fed to the crawler (a few hundred words of running text have been sufficient in practice). Queries combining words from these texts are generated and passed to the &lt;a href="http://www.google.com/apis/" target="_blank"&gt;Google API&lt;/a&gt; which returns a list of documents potentially written in the target language. These are downloaded, processed into plain text, and formatted. A combination of statistical techniques bootstrapped from the initial seed texts (and refined as more texts are added to the database) is used to determine which documents (or sections thereof) are written in the target language. The crawler then recursively follows links contained within documents that are in the target language. When these run out, the entire process is repeated, with a new set of Google queries generated from the new, larger corpus.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt; &lt;span style="font-size: 12pt;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ref:&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;&lt;a href="http://borel.slu.edu/crubadan/" target="_blank"&gt;http://borel.slu.edu/crubadan/&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22288957-113964252175984073?l=amautodidact.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://amautodidact.blogspot.com/feeds/113964252175984073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22288957&amp;postID=113964252175984073' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/113964252175984073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22288957/posts/default/113964252175984073'/><link rel='alternate' type='text/html' href='http://amautodidact.blogspot.com/2006/02/building-dictionary-from-web.html' title='Building dictionary from the web'/><author><name>Nazeer</name><uri>http://www.blogger.com/profile/10595281497804453945</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry></feed>
