<?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>Quick Tweaks &#187; script</title>
	<atom:link href="http://www.quicktweaks.com/tag/script/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.quicktweaks.com</link>
	<description>Quick Tweaks For Your System</description>
	<lastBuildDate>Fri, 27 Nov 2009 22:29:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Creating a multiuser interactive Google Map gadget for Google Wave with JQuery &#8211; Part I</title>
		<link>http://www.quicktweaks.com/2009/11/15/creating-a-multiuser-interactive-google-map-gadget-for-google-wave-with-jquery-part-i/</link>
		<comments>http://www.quicktweaks.com/2009/11/15/creating-a-multiuser-interactive-google-map-gadget-for-google-wave-with-jquery-part-i/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 00:01:15 +0000</pubDate>
		<dc:creator>ashokgelal</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[google wave]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[wave]]></category>

		<guid isPermaLink="false">http://www.quicktweaks.com/?p=269</guid>
		<description><![CDATA[In this post I will show how to create a simple multi-user interactive map gadget contains a marker showing the current location. Any one of the participants can change the current location of the map. The 'change' will be reflected on the map of all the participants. 


Related posts:<ol><li><a href='http://www.quicktweaks.com/2009/11/27/google-wave-invitations-giveaway/' rel='bookmark' title='Permanent Link: Google Wave Invitations Giveaway'>Google Wave Invitations Giveaway</a> <small>I&#8217;ve got few Google Wave invitations for those who need...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>We just released the beta version of <a title="tweat.org" href="http://tweat.org/" target="_blank">tweat.org</a> &#8211; a site which maps the best meals in your town. We (by we mean me and the awesome <a title="Trent Cutler's home page" href="http://trentcutler.com/" target="_blank">Trent Cutler</a>) decided that we also need a Tweat extension for Google Wave. It might be very useful for users to find out the best restaurant to go for their next lunch &#8211; from right within Google Wave! <a title="Getting ready for a Google Wave extension" href="http://www.ashokgelal.com/2009/11/getting-ready-for-a-google-wave-extension/" target="_blank">I&#8217;m already started working on it</a>, and you should hear about an awesome Google Wave extension pretty soon <img src='http://www.quicktweaks.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>After using Google Wave for about 10 days, I&#8217;ve absolutely fallen in love with it. It&#8217;s not only fun, but is a very useful collaboration tool. I honestly believe that it will change the way we communicate. One of the most powerful features of Google Wave is its support for extensions. In this post I will show how to create a simple multi-user interactive map gadget. Read on if you are interesting in developing a Google Wave gadget. If you only jumped in to this site looking for a Google Wave invitation, <a title="Google Wave invitation" href="http://blog.tweat.org/2009/11/tweat-org-is-giving-away-google-wave-invites/" target="_blank">this might help you out to get one</a>. If you have a Google Wave account and want to try this gadget, here is the link to the gadget: <a title="Google Wave Extension" href="http://wave.tweat.org/gwave/tut/tut.xml" target="_blank">http://wave.tweat.org/gwave/tut/tut.xml</a></p>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-0816309066023726";
google_ad_slot = "7783831711";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<h3><span id="more-269"></span><br />
<strong> What really are we going to create?</strong></h3>
<p>A Google map which contains a marker showing the current location. Any one of the participants can change the current location of the map. The &#8216;change&#8217; will be reflected on the map of all the participants. There is already a full featured Google Wave gadget called Mappy, and you can even read its source code. This post is just a beginner&#8217;s guide and also the full featured Mappy is advance and pretty hard to understand.<br />
This is just the first part of a long series of tutorials on Goolge Wave gadget. In other parts we will try to integrate geo-location and other features similar to the one we have in <a title="tweat.org google map" href="http://tweat.org/eatlocal/" target="_blank">tweat.org</a>. If you want to see any other features, let me know in the comments.</p>
<p>Though developing a gadget is very easy and intuitive, it is not so easy to test the gadget from within your local server. Unless you have access to Google Wave Sandbox, which I unfortunately don&#8217;t have, it is going to be a bit difficult. Nevertheless, it is very fun and I would say very good investment to invest some time and efforts in learning how to develop a Google Wave gadget. Before you open up your text editor and start acting like a code monkey, there are few things you need:</p>
<ol>
<li>Obviously, a Google Wave account. If you have someone else that can be with you while you are testing, that would be very convenient! For those of you who don&#8217;t have any Google Wave account or if you need another one &#8211; <a title="Google Wave invitation" href="http://blog.tweat.org/2009/11/tweat-org-is-giving-away-google-wave-invites/" target="_blank">this might help you out</a>.</li>
<li>Get a Google AJAX Libraries api key: <a href="http://code.google.com/apis/maps/signup.html">http://code.google.com/apis/maps/signup.html</a>. We will be using Google Map, and JQuery hosted at Google CDN.</li>
<li>After you are ready to test your gadget, you need to host your files in a publicly accessible place. If you don&#8217;t have one and don&#8217;t mind sharing your gadget making it an open-source, you can try Google&#8217;s own Gadgets API Developer Tools <a href="http://code.google.com/apis/gadgets/docs/tools.html#Host">http://code.google.com/apis/gadgets/docs/tools.html#Host</a> which allows you to host your gadget for free!</li>
</ol>
<p>That&#8217;s all we need for now.</p>
<h3>Getting Started:</h3>
<p>Fireup your favorite text editor and start with the following:</p>
<pre class="brush: xml;">
&amp;lt;body&amp;gt;
        &amp;lt;div id=&amp;quot;map_canvas&amp;quot; style=&amp;quot;height: 350px; width:500px&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;address&amp;quot; /&amp;gt;
        &amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;submit&amp;quot; value=&amp;quot;submit&amp;quot; /&amp;gt;
&amp;lt;/body&amp;gt;
</pre>
<p>We just created a 350&#215;500px div to hold our map. We also created an input box to type in the address, and a submit button to geocode the address and show on the map. Let&#8217;s move into the main part, the javascript part. Add the following codes just before the</p>
<pre class="brush: jscript;">
&amp;lt;head&amp;gt;
     &amp;lt;script src=&amp;quot;http://www.google.com/jsapi?key=&amp;lt;PUT YOUR JS API HERE&amp;gt;&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
     &amp;lt;script&amp;gt;
       google.load(&amp;quot;maps&amp;quot;, &amp;quot;2&amp;quot;);
       google.load(&amp;quot;jquery&amp;quot;, &amp;quot;1.3&amp;quot;);
     &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
</pre>
<p>What are we doing here? Not much except than just loading Google Maps (v2) and Jquery (v1.3) library from Google CDN.</p>
<p>Now the fun part, add the following lines just before the closing <code><em></em></code> tag. Don&#8217;t worry if you don&#8217;t understand even a single line, we will go through each line and will see what&#8217;s going on.</p>
<pre class="brush: jscript;">
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
 var map;
 var geocoder;
 var marker;
 $(function(){
      map = new GMap2(document.getElementById(&amp;quot;map_canvas&amp;quot;));
      map.setUIToDefault();
      geocoder = new GClientGeocoder();
      map.getInfoWindow();

      marker = new GMarker(new GLatLng(0,0));
      map.addOverlay(marker);
      map.setCenter(marker.getLatLng(),13);

      $('input[name=submit]').bind('click', function(){
           address = $('input[name=address]').val();
           wave.getState().submitDelta({
                'address':address
           });
           return false;
      });
 });

 function reload(){
      address = wave.getState().get('address');
      geocoder.getLatLng(address, function(latlng){
           if(!latlng){
               alert(&amp;quot;Cannot determine the address&amp;quot;);
           }else{
              marker.setLatLng(latlng);
              map.setCenter(latlng, 13);
           }
     })
 }

 function init() {
      if (wave &amp;amp;&amp;amp; wave.isInWaveContainer()) {
           wave.setStateCallback(reload);
      }
 }

 gadgets.util.registerOnLoadHandler(init);
</pre>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-0816309066023726";
google_ad_slot = "7783831711";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<h3><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: 13px;">Details:</span></h3>
<pre><span style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; line-height: 19px; white-space: normal; font-size: 13px;">Let's talk about the function <code><em>init</em> </code>and the last line:</span></pre>
<pre class="brush: jscript;">gadgets.util.registerOnLoadHandler(init) </pre>
<p>The line says that whenever the gadget is loaded, call the <code><em>init </em></code>method. The name of the function can be anything, it doesn&#8217;t have to be <code><em>init</em></code>. <code><em>init </em></code>just makes it clear, and intuitive that this function will be called when the gadget will be <em>initialized</em>. Now, inside the <code><em>init </em></code>function, we check that the wave has been defined and the wave is in the wave container (which is the job of Google Wave to create and initialize wave object you don&#8217;t have to worry about this). If it is then whenever there is a change in wave&#8217;s state, it calls the global function <code><em>reload</em></code>. If you are smart enough, you might have already guessed that the <code><em>reload </em></code>will be the main function handling all of our user interactions.</p>
<p>On the top, we started by declaring three global variables:<br />
<code><em>map </em></code>-&gt; for holding reference to the map that we are going to add<br />
<code><em>geocoder </em></code>-&gt; to convert the given address into latitude/longitude value<br />
<code><em>marker </em></code>-&gt; for holding reference to the marker which will represent the given address on the map</p>
<p>Now, we want to add map to the div <em>ONLY </em>after dom is ready for which we will use the wonderful JQuery:</p>
<pre class="brush: jscript;">
$(function(){
</pre>
<p>Now, we will create our map, attach the map to our div, set the map UI to default. We will create a geocoder object, and a marker:</p>
<pre class="brush: jscript;">
      map = new GMap2(document.getElementById(&amp;quot;map_canvas&amp;quot;));
      map.setUIToDefault();
      geocoder = new GClientGeocoder();
      map.getInfoWindow();
      marker = new GMarker(new GLatLng(0,0));
      map.addOverlay(marker);
      map.setCenter(marker.getLatLng(),13);
</pre>
<p>Please notice that the the marker&#8217;s initial position is at 0,0 and also the initial zoom is 13</p>
<p>Now, we will bind the click action on the <em>submit </em>button&#8230;</p>
<pre class="brush: jscript;">
$('input[name=submit]').bind('click', function(){
</pre>
<p>&#8230;and get the current address from the <em>input </em>box:</p>
<pre class="brush: jscript;">
address = $('input[name=address]').val();
</pre>
<p>Now, it is time to make our map react with the submit button&#8217;s click action. For this we will pass a key/value pair (called map in JavaScript) to wave which will notify our <code><em>reload</em> </code>function (we will come to this function in a few seconds):</p>
<pre class="brush: jscript;">
wave.getState().submitDelta({
'address':address
});
return false;
</pre>
<p>These two lines are really important. We are passing the value from the <code><em>input </em></code>box held in <code><em>address </em></code>variable to wave&#8217;s current state.</p>
<p>Now, we will write a global function reload which will be called every time one of the participants clicks on the <code><em>submit </em></code>button to set a new address.<br />
We will first grab the value of address from the map that we passed in line 17-18:</p>
<pre class="brush: jscript;">
address = wave.getState().get('address');
</pre>
<p>We will now use Google&#8217;s geocoding service to get the equivalent latitude/longitude value for this address:</p>
<pre class="brush: jscript;">
      geocoder.getLatLng(address, function(latlng){
           if(!latlng){
               alert(&amp;quot;Cannot determine the address&amp;quot;);
           }else{
              marker.setLatLng(latlng);
              map.setCenter(latlng, 13);
           }
     })
</pre>
<p>If the geocoder returns a latlng value we will set the marker, and center our map to that latlng otherwise we will alert the participants that the address cannot be determined.</p>
<p>That&#8217;s all for our application part. Now, it is time to wrap up our code in a format recognized by Google Wave. Include following lines on top of the file (before <code><em></em></code>):</p>
<pre class="brush: xml;">
&amp;lt;Module&amp;gt;
     &amp;lt;ModulePrefs title=&amp;quot;My first Google Wave Gadget&amp;quot; height=&amp;quot;450&amp;quot;&amp;gt;
          &amp;lt;Require feature=&amp;quot;wave&amp;quot;/&amp;gt;
     &amp;lt;/ModulePrefs&amp;gt;
     &amp;lt;Content type=&amp;quot;html&amp;quot;&amp;gt;
         &amp;lt;![CDATA[
</pre>
<p><code><em>ModulePrefs </em></code>is the place where you can set all the settings for your gadget such as height, width, title, icon, thumbnail etc. Among other, height is important and you might have to do a little bit of hit-and-trial to get to the height which won't cover a part of your gadget inside a wave. For more information about available settings, <a title="Google Wave gadget documentation" href="http://code.google.com/apis/gadgets/docs/basic.html#Userprefs" target="_blank">please visit official Google Wave documentation</a>.</p>
<p>Finally, finish off the code by closing the xml tags. At the end of your file, right after &lt;/body&gt; tag, include:</p>
<pre class="brush: xml;">
          ]]&amp;gt;
     &amp;lt;/Content&amp;gt;
&amp;lt;/Module&amp;gt;
</pre>
<h3>Download the source:</h3>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-0816309066023726";
google_ad_slot = "7783831711";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p><a title="Download tut source code" href="http://dl.dropbox.com/u/83257/tut.xml" target="_blank">Download the source file from here</a> to see, and be sure that it matches everything with yours.</p>
<h3>What next?</h3>
<p>As I&#8217;ve already talked about this earlier, this is just the first part, I will definitely come up with other parts to make this gadget more useful. I do hope that you guys will also share your knowledge, and experience with me, and other readers. I would definitely welcome any feedback and constructive criticism. Keep coming back as the next extension we will be developing, after we finish this gadget, will be a Google Wave Robot!!! For now start a new wave with one of your friends so that you can test out your first ever Google Wave gadget. If you don&#8217;t find anyone, &#8216;buzz&#8217; me at ashokgelal[at]googlewave[dot]com. If I&#8217;m online and not busy, I will definitely help you out. In the mean time, don&#8217;t forget to follow me at Twitter <a title="follow ashokgelal at Twitter" href="http://twitter.com/ashokgelal" target="_blank">@ashokgelal</a> and also tweatorg <a title="follow tweatorg at Twitter" href="http://twitter.com/tweatorg" target="_blank">@tweatorg</a>.</p>
<p>Happy Waving!</p>


<p>Related posts:<ol><li><a href='http://www.quicktweaks.com/2009/11/27/google-wave-invitations-giveaway/' rel='bookmark' title='Permanent Link: Google Wave Invitations Giveaway'>Google Wave Invitations Giveaway</a> <small>I&#8217;ve got few Google Wave invitations for those who need...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.quicktweaks.com/2009/11/15/creating-a-multiuser-interactive-google-map-gadget-for-google-wave-with-jquery-part-i/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Fun with Linux Commands-III &#8211; Being productive</title>
		<link>http://www.quicktweaks.com/2008/11/01/fun-with-linux-commands-iii-being-productive/</link>
		<comments>http://www.quicktweaks.com/2008/11/01/fun-with-linux-commands-iii-being-productive/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 07:06:44 +0000</pubDate>
		<dc:creator>ashokgelal</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[TerminalFunFive]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[command]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://www.quicktweaks.com/?p=252</guid>
		<description><![CDATA[Who says Linux commands are just for geek people? And who says it is just a fun toy? Linux is simple yet productive, the only limitation is your imagination.


Related posts:<ol><li><a href='http://www.quicktweaks.com/2009/11/26/10-linux-commands-for-fun/' rel='bookmark' title='Permanent Link: 10 Linux commands for fun'>10 Linux commands for fun</a> <small>Here are few Linux commands you can play with for...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Happy Linux commanding!</p>
<p>Who says Linux commands are just for geek people? And who says it is just a fun toy? Linux is simple yet productive, the only limitation is your imagination. Those who argue me with me for Linux being simple, here is a popular saying:</p>
<blockquote><p>*NIX is basically a simple operating system, but you have to be a genius to understand the simplicity</p></blockquote>
<p><span id="more-252"></span></p>
<p>In this post, we will talk about few commands and write a couple of scripts (don&#8217;t worry, it will be damn simple). Some guys might blame that these commands/ scripts have no use and might shout &#8220;why the hell do we need that.&#8221; Remember, these are just the tools. It&#8217;s upto you how well you use these tools for your tasks. Also remember, one who discovers the alternative uses of a tool is often called a Genious. Let&#8217;s get started:</p>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-0816309066023726";
google_ad_slot = "7783831711";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p>1. Make Linux speak that he loves himself.</p>
<p><code>espeak "I Love Linux"</code></p>
<p>Now you should be asking why the hell I need that? Well, what about you have a document, or a story and someone in your family is blind, or can&#8217;t see nicely. You don&#8217;t have enough time reading the document for him/ her. Ask him to sit in front of a computer and run this: espeak &lt; documentName</p>
<p>We have more to do with <em>espeak</em>, you can even output the file to a .wav file or a .ogg file so that you can record them in a CD and mail to someone you care!</p>
<p>Still not impressed? What about making it to read your email, or run it in the background so that it alerts you whenever a new mail arrives in your Inbox and then reads the sender&#8217;s name, and subject. Also, if you are little ambitious, you can even make it say the weather, if the weather changes drastically. I won&#8217;t discuss how to make it read your mails, or weather; I&#8217;m just talking about possibility. When I get some time, I&#8217;m thinking to write a script which reads my Gmails. Just keep coming back!</p>
<p>2. Making your own commands.</p>
<p>You have heard Linux is highly customizable. How about writing your own simple command. We will write a small script which allows you a convenient way to change the directories, actually to go back several levels up. Let&#8217;s suppose you are inside <em>/home/yourhome/a/b/c/d/e/f/g/h/i/j</em> directory. You want to change the directory (cd) to several levels up. You can easily do this with somthing like <em>cd ../../../../..</em> But what about something as similar as up 3 which will take you 3 levels up</p>
<p>Fireup your favorite text editor and type the following (don&#8217;t be intimated by thinking that you are programming something, I will explain this script line by line, don&#8217;w worry!):</p>
<p><code>#!/bin/bash<br />
LEVEL=$1<br />
for ((i = 1; i &lt;= LEVEL; i++))<br />
do<br />
CDIR=../$CDIR<br />
done<br />
cd $CDIR<br />
echo "You are in: "$PWD<br />
exec /bin/bash</code></p>
<p>Save the file as up and issue following two commands:</p>
<p><code>$ chmod 755 ./up</code></p>
<p>$ sudo cp up /usr/bin</p>
<p>Now, from your home directory try using this command:<br />
<code><br />
$ up 2</code></p>
<p>Where are you at? At root directory! See how easy it was? Let&#8217;s see how our little script chef made pizza for us:</p>
<p><code>#! /bin/bash</code> -&gt; you are using bash script</p>
<p><code>LEVEL=$1</code> -&gt; $1 is the first parameter passed to this script assigned to LEVEL</p>
<p><code>for ((i = 1; i &lt;= LEVEL; i++))</code> -&gt; for some times (upto LEVEL)&#8230;<br />
<code>do </code> -&gt; &#8230;we will go round&#8230;<br />
<code>CDIR=../$CDIR </code> -&gt; &#8230;creating our path and assigning it to CDIR and&#8230;<br />
<code>done</code> -&gt; &#8230;when we are done&#8230;<br />
<code>cd $CDIR</code> -&gt; &#8230;we will change our directory to the path we have created above and&#8230;<br />
<code>echo "You are in: "$PWD </code> -&gt; &#8230;we will let you know where you are and finally&#8230;<br />
<code>exec /bin/bash</code> -&gt; &#8230;we are done so let&#8217;s get a new shell</p>
<p>That&#8217;s was not to easy but wasn&#8217;t too hard either. It is not too hard to ease your repetitive tasks with a single file and increase your productivity.</p>
<p>Let&#8217;s make another little script&#8230;</p>
<p>3. What do you usually do changing a directory? List it contents right? How about this little script?</p>
<p><code>#!/bin/bash</code></p>
<p>cd $1</p>
<p>ls</p>
<p>exec /bin/bash</p>
<p>That&#8217;s it! Save it as <em>cdls</em> or something like that and then issue this command:<br />
<code>$ chmod 755 &amp; sudo cp cdls /usr/bin</code></p>
<p>For Ubuntu users, if you want a script that keeps track of all your &#8220;apt-get&#8221; activities by posting them to your Twitter account,<a title="tapt" href="http://www.quicktweaks.com/tapt/" target="_blank"> try this little handy script</a>.</p>
<p>4. One more thing about <em>cd</em>. Which is the fastest and easiest cd command that take you to your home directory? <strong><em>cd /home/yourhome </em></strong>? <em><strong>cd ~</strong></em> ? <em><strong>cd</strong></em> itself!</p>
<p><code>$ cd</code></p>
<p>It takes you to your home directory</p>
<p>5. Tired of typing clear to clear your screen? Press <code>ctrl + l</code></p>
<p>That&#8217;s it for today. Happy Halloween!</p>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-0816309066023726";
google_ad_slot = "7783831711";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>


<p>Related posts:<ol><li><a href='http://www.quicktweaks.com/2009/11/26/10-linux-commands-for-fun/' rel='bookmark' title='Permanent Link: 10 Linux commands for fun'>10 Linux commands for fun</a> <small>Here are few Linux commands you can play with for...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.quicktweaks.com/2008/11/01/fun-with-linux-commands-iii-being-productive/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Mozilla released Firefox 3.1 Beta1. Try it now!</title>
		<link>http://www.quicktweaks.com/2008/10/14/mozilla-released-firefox-31-beta1-try-it-now/</link>
		<comments>http://www.quicktweaks.com/2008/10/14/mozilla-released-firefox-31-beta1-try-it-now/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 20:52:12 +0000</pubDate>
		<dc:creator>ashokgelal</dc:creator>
				<category><![CDATA[Installation]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[wget]]></category>

		<guid isPermaLink="false">http://www.quicktweaks.com/?p=190</guid>
		<description><![CDATA[Mozilla just released Beta1 of Firefox 3.1 browser. They haven't yet made the official announcement though.
The noticeable features include Ctrl+Tab 3D browser, faster JavaScript performance, and Open a new tab button just like Internet Explorer 7. If you want to give a try, here is how to install it:


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Mozilla just released Beta1 of Firefox 3.1 browser. <span style="text-decoration: line-through;">They haven&#8217;t yet made the official announcement though.</span></p>
<p style="text-align: left;">The noticeable features include Ctrl+Tab 3D navigation browser, faster JavaScript performance, and <em>Open a New Tab </em>button just like Internet Explorer 7.</p>
<p style="text-align: left;"><span id="more-190"></span></p>
<p style="text-align: left;">
<div id="attachment_194" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.quicktweaks.com/wp-content/uploads/2008/10/firefox_b1.png"><img class="size-full wp-image-194" title="firefox 3.1 beta1 ctrl+tab 3d" src="http://www.quicktweaks.com/wp-content/uploads/2008/10/firefox_b1.png" alt="Ctrl+Tab 3D navigation browser is a welcome feature" width="500" height="312" /></a><p class="wp-caption-text">Ctrl+Tab 3D navigation browser is a welcome feature</p></div>
<p>If you want to give a try, here is how to install it in Linux:<br />
<script type="text/javascript"><!--
google_ad_client = "pub-0816309066023726";
/* qttext468x15, created 10/13/08 */
google_ad_slot = "2596799116";
google_ad_width = 468;
google_ad_height = 15;
// --></script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></p>
<p><code>wget ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.1b1/linux-i686/en-US/firefox-3.1b1.tar.bz2</code><strong><em>Update:</em></strong> From the <a title="What's new in Firefox 3.1b1" href="https://www.mozilla.com/en-US/firefox/3.1b1/releasenotes/#whatsnew" target="_blank">official <strong><em>What&#8217;s New</em></strong> page</a>:</p>
<blockquote>
<li>Web standards improvements in the Gecko layout engine</li>
<li>Added support for CSS 2.1 and CSS 3 properties</li>
<li>A new tab-switching shortcut that shows previews of the tab you&#8217;re switching to</li>
<li>Improved control over the Smart Location Bar using special characters to restrict your search</li>
<li>Support for new web technologies such as the &lt;video&gt; and &lt;audio&gt; elements, the W3C Geolocation API, JavaScript query selectors, web worker threads, SVG transforms and offline applications.</li>
</blockquote>
<p>Don&#8217;t forget to backup your profile so that you can restore if something goes wrong.</p>
<div id="attachment_193" class="wp-caption aligncenter" style="width: 392px"><a href="http://www.quicktweaks.com/wp-content/uploads/2008/10/firefox3.png"><img class="size-full wp-image-193" title="Firefox 3.1beta1 add new tab" src="http://www.quicktweaks.com/wp-content/uploads/2008/10/firefox3.png" alt="Open a new tab button" width="382" height="196" /></a><p class="wp-caption-text">Open a new tab button</p></div>
<p>$ tar -xvf firefox-3.1b1.tar.bz2</p>
<p>$ cd firefox</p>
<p>$ ./firefox</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.quicktweaks.com/2008/10/14/mozilla-released-firefox-31-beta1-try-it-now/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Run your virtual OS directly from GDM in Ubuntu</title>
		<link>http://www.quicktweaks.com/2008/10/14/run-your-virtual-os-directly-from-gdm-in-ubuntu/</link>
		<comments>http://www.quicktweaks.com/2008/10/14/run-your-virtual-os-directly-from-gdm-in-ubuntu/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 16:12:46 +0000</pubDate>
		<dc:creator>ashokgelal</dc:creator>
				<category><![CDATA[Desktop]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[gdm]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[windows xp]]></category>
		<category><![CDATA[xorg]]></category>
		<category><![CDATA[xserver]]></category>

		<guid isPermaLink="false">http://www.quicktweaks.com/?p=154</guid>
		<description><![CDATA[If you regularly run a couple of OS from your VirtualBox and want to login to those OS directly from GDM session, here is a quick way to do it. For this to work you should have already set up your VirtualBox. Here we won't be talking about how to setup VirtualBox but only how to login to a virtual OS from GDM session. 


Related posts:<ol><li><a href='http://www.quicktweaks.com/2009/11/26/10-linux-commands-for-fun/' rel='bookmark' title='Permanent Link: 10 Linux commands for fun'>10 Linux commands for fun</a> <small>Here are few Linux commands you can play with for...</small></li><li><a href='http://www.quicktweaks.com/2009/01/07/kick-ass-guide-for-installing-oracle-on-ubuntu/' rel='bookmark' title='Permanent Link: Kick ass guide for installing Oracle on Ubuntu'>Kick ass guide for installing Oracle on Ubuntu</a> <small>Four steps for installing Oracle on Ubuntu. Steps by steps...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>If you regularly run a couple of OS from your VirtualBox and want to login to those OS directly from GDM session, here is a quick way to do it. For this to work you should have already set up your VirtualBox. Here we won&#8217;t be talking about how to setup VirtualBox but only how to login to a virtual OS from GDM session.</p>
<p><span id="more-154"></span></p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_187" class="wp-caption aligncenter" style="width: 472px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-187" title="windowsgdm" src="http://www.quicktweaks.com/wp-content/uploads/2008/10/windowsgdm.png" alt="Windows XP GDM" width="462" height="384" /></dt>
<dd class="wp-caption-dd">Windows XP GDM</dd>
<dt class="wp-caption-dt"></dt>
</dl>
</div>
<p><span style="color: #ff6600;">1. Create a bash script with the following contents</span></p>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-0816309066023726";
google_ad_slot = "7783831711";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
<p><code>#!/bin/bash<br />
VirtualBox -startvm <strong><span style="color: #000000;"><em>NameOfYourVirtualOS</em></span></strong></code></p>
<p>Replace <em><strong><span style="text-decoration: line-through;">y</span><span style="text-decoration: line-through;">ourSUPassword</span></strong></em><span style="text-decoration: line-through;"> with your password, and </span><em><strong>NameOfYourVirtualOS</strong></em> with the name that you have given to your virtual OS in VirtualBox.</p>
<p><span style="color: #ff6600;">2. Name it something like <strong><em>windowsXPGDM</em></strong> (if you want to run Windows XP), make it executable, and then copy it to /usr/bin.</span></p>
<p><code>$ chmod 755 windowsXP</code>GDM<br />
<code>$ sudo cp windowsXPGDM /usr/bin</code></p>
<p><span style="color: #ff6600;">2. Go to <strong><em>/usr/share/xsessions</em></strong> and create a new file with the following contents:</span></p>
<p><code>[Desktop Entry]<br />
Encoding=UTF-8<br />
Name=WindowsXP<br />
Comment=My Virtual WindowsXP<br />
Exec=/usr/bin/windowsXPGDM<br />
Icon=<br />
Type=Application </code></p>
<p><span style="color: #ff6600;">3. Save it with a name something like <em><strong>windowsXP.desktop</strong></em>.</span></p>
<p><span style="color: #ff6600;">4. Log out and you will see a new entry WindowsXP in your GDM session. You can now directly open VirtualBox session without even logging in to your Ubuntu machine.</span></p>
<p style="text-align: center;"><script type="text/javascript"><!--
google_ad_client = "pub-0816309066023726";
google_ad_slot = "7783831711";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>


<p>Related posts:<ol><li><a href='http://www.quicktweaks.com/2009/11/26/10-linux-commands-for-fun/' rel='bookmark' title='Permanent Link: 10 Linux commands for fun'>10 Linux commands for fun</a> <small>Here are few Linux commands you can play with for...</small></li><li><a href='http://www.quicktweaks.com/2009/01/07/kick-ass-guide-for-installing-oracle-on-ubuntu/' rel='bookmark' title='Permanent Link: Kick ass guide for installing Oracle on Ubuntu'>Kick ass guide for installing Oracle on Ubuntu</a> <small>Four steps for installing Oracle on Ubuntu. Steps by steps...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.quicktweaks.com/2008/10/14/run-your-virtual-os-directly-from-gdm-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Tweet your &#8216;apt-get&#8217;! Let Twitter keep track of whatever you install in Ubuntu</title>
		<link>http://www.quicktweaks.com/2008/10/05/tweet-your-apt-get-let-twitter-keep-track-of-whatever-you-install-in-ubuntu/</link>
		<comments>http://www.quicktweaks.com/2008/10/05/tweet-your-apt-get-let-twitter-keep-track-of-whatever-you-install-in-ubuntu/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 19:28:37 +0000</pubDate>
		<dc:creator>ashokgelal</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[System]]></category>
		<category><![CDATA[Terminal]]></category>
		<category><![CDATA[apt-get]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[tapt]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.quicktweaks.com/?p=101</guid>
		<description><![CDATA[This script, tapt, tweets whatever you install, remove or perform other operations with 'apt-get' in Ubuntu to your Tweeter account.


Related posts:<ol><li><a href='http://www.quicktweaks.com/2009/01/07/kick-ass-guide-for-installing-oracle-on-ubuntu/' rel='bookmark' title='Permanent Link: Kick ass guide for installing Oracle on Ubuntu'>Kick ass guide for installing Oracle on Ubuntu</a> <small>Four steps for installing Oracle on Ubuntu. Steps by steps...</small></li></ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>If you are like me who often likes to test one of the thousand applications available for Ubuntu and like to keep track of whatever you install or remove, here is a script for you. This script, <em>tapt</em>, tweets whatever you install, remove or perform other operations with <em>&#8216;apt-get&#8217;</em> in Ubuntu to your Tweeter account.<br />
<a title="more details on tapt" href="http://www.quicktweaks.com/tapt" target="_self">Click here for more details on this script</a></p>
<p style="text-align: center;"> </p>


<p>Related posts:<ol><li><a href='http://www.quicktweaks.com/2009/01/07/kick-ass-guide-for-installing-oracle-on-ubuntu/' rel='bookmark' title='Permanent Link: Kick ass guide for installing Oracle on Ubuntu'>Kick ass guide for installing Oracle on Ubuntu</a> <small>Four steps for installing Oracle on Ubuntu. Steps by steps...</small></li></ol></p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.quicktweaks.com/2008/10/05/tweet-your-apt-get-let-twitter-keep-track-of-whatever-you-install-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 4.260 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-01-05 13:02:34 -->
<!-- Compression = gzip -->