<?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>Tohir Solomons &#187; Software and Technology</title>
	<atom:link href="http://www.tohir.co.za/category/software-and-technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tohir.co.za</link>
	<description></description>
	<lastBuildDate>Fri, 11 Mar 2011 09:30:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>How to bring your mouse back to life in Ubuntu</title>
		<link>http://www.tohir.co.za/2011/02/02/how-to-bring-your-mouse-back-to-life-in-ubuntu/</link>
		<comments>http://www.tohir.co.za/2011/02/02/how-to-bring-your-mouse-back-to-life-in-ubuntu/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 01:55:48 +0000</pubDate>
		<dc:creator>Tohir</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software and Technology]]></category>

		<guid isPermaLink="false">http://www.tohir.co.za/?p=500</guid>
		<description><![CDATA[Occasionally, I encounter the issue where my mouse moves around the screen, but I can&#8217;t left click. Right click does work. Instead of rebooting tonight, thought I&#8217;d try to find a solution tabbing away on the keyboard whilst I still had a browser open. Solution: Press Ctrl+F1 to go to a terminal screen Login with [...]]]></description>
			<content:encoded><![CDATA[<p>Occasionally, I encounter the issue where my mouse moves around the screen, but I can&#8217;t left click. Right click does work. Instead of rebooting tonight, thought I&#8217;d try to find a solution tabbing away on the keyboard whilst I still had a browser open.</p>
<p>Solution:</p>
<ul>
<li>Press Ctrl+F1 to go to a terminal screen</li>
<li>Login with your username and password</li>
<li>sudo mobprobe -r psmouse</li>
<li>sudo modprobe psmouse</li>
<li>Ctrl+F7</li>
</ul>
<p>This removes the mouse &#8216;driver&#8217; from the kernel, and re-adds it. Wallaa!</p>
<p><map name='google_ad_map_500_d66c8ad2bfa7c2ab'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/500?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_500_d66c8ad2bfa7c2ab' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=500&amp;url= http%3A%2F%2Fwww.tohir.co.za%2F2011%2F02%2F02%2Fhow-to-bring-your-mouse-back-to-life-in-ubuntu%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.tohir.co.za/2011/02/02/how-to-bring-your-mouse-back-to-life-in-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Zend Server CE on Ubuntu Maverick (10.10)</title>
		<link>http://www.tohir.co.za/2011/01/24/installing-zend-server-ce-on-ubuntu-maverick-10-10/</link>
		<comments>http://www.tohir.co.za/2011/01/24/installing-zend-server-ce-on-ubuntu-maverick-10-10/#comments</comments>
		<pubDate>Mon, 24 Jan 2011 15:08:25 +0000</pubDate>
		<dc:creator>Tohir</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[apt-get]]></category>
		<category><![CDATA[maverick]]></category>
		<category><![CDATA[repo]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[zend]]></category>
		<category><![CDATA[zendserver]]></category>
		<category><![CDATA[zendserverce]]></category>

		<guid isPermaLink="false">http://www.tohir.co.za/?p=496</guid>
		<description><![CDATA[Spent the day trying to install Zend Server on Ubuntu (10.10), but ran into so much blockers, thought it would be worth a blog! After following all the steps, I got hit with: W: Failed to fetch http://repos.zend.com/deb/ce/dists/ce/Release Unable to find expected entry  non-free/source/Sources in Meta-index file (malformed Release file?) Kept trying sudo-apt-get update whilst [...]]]></description>
			<content:encoded><![CDATA[<p>Spent the day trying to install Zend Server on Ubuntu (10.10), but ran into so much blockers, thought it would be worth a blog!</p>
<p>After following all the steps, I got hit with:</p>
<pre>W: Failed to fetch http://repos.zend.com/deb/ce/dists/ce/Release
Unable to find expected entry  non-free/source/Sources in Meta-index file (malformed Release file?)</pre>
<p>Kept trying <strong>sudo-apt-get update</strong> whilst cursing Zend, and still the same.</p>
<p>Solution: Disable the sources repository in /etc/apt/sources.list.</p>
<pre>#deb-src http://repos.zend.com/deb/ce ce non-free</pre>
<p>Next, trying to install, and keep getting dependencies issues. There are two (old files) that need to be downloaded, and then everything works fine:</p>
<ul>
<li><a href="http://security.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.3~beta1-2ubuntu1.6_amd64.deb">libkrb53</a></li>
<li><a href="http://mirrors.us.kernel.org/ubuntu//pool/universe/m/mysql-dfsg-5.0/libmysqlclient15off_5.1.30really5.0.83-0ubuntu3_amd64.deb">libmysqlclient15off</a></li>
</ul>
<p>They were in older distributions, but no longer are!</p>
<p>Once those two files are manually installed (sudo dpkg -i), the rest is plain sailing.</p>
<p><map name='google_ad_map_496_d66c8ad2bfa7c2ab'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/496?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_496_d66c8ad2bfa7c2ab' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=496&amp;url= http%3A%2F%2Fwww.tohir.co.za%2F2011%2F01%2F24%2Finstalling-zend-server-ce-on-ubuntu-maverick-10-10%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.tohir.co.za/2011/01/24/installing-zend-server-ce-on-ubuntu-maverick-10-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thunderbird + Correct Indentity Plugin</title>
		<link>http://www.tohir.co.za/2011/01/05/thunderbird-and-correct-indentity-plugin/</link>
		<comments>http://www.tohir.co.za/2011/01/05/thunderbird-and-correct-indentity-plugin/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 07:45:45 +0000</pubDate>
		<dc:creator>Tohir</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Software and Technology]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[thunderbird]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tohir.co.za/?p=491</guid>
		<description><![CDATA[On both Ubuntu (and Windows if I ever had to use it), I prefer Thunderbird as my email client over Evolution or MS Outlook purely due to two reasons: I love the way it allows one to show an inbox for each account. I do not need to filter them, or create labels. The ability [...]]]></description>
			<content:encoded><![CDATA[<p>On both Ubuntu (and Windows if I ever had to use it), I prefer <a href="http://www.mozillamessaging.com/en-US/thunderbird/">Thunderbird</a> as my email client over Evolution or MS Outlook purely due to two reasons:</p>
<ol>
<li>I love the way it allows one to show an inbox for each account. I do not need to filter them, or create labels.</li>
<li>The ability to set a limit on incoming mail. Once activated, it only downloads the first 50kb of each email giving an idea of what the email contains, and it saves the frustration of downloading emails with large attachments, particularly from people I don&#8217;t know.</li>
</ol>
<p>However, the one mistake I often make is clicking &#8220;Write&#8221;, type in the email, and clicking send, without checking that I&#8217;m sending it from the right email address. Fortunately, another great thing with Firefox and Thunderbird is <a href="https://addons.mozilla.org/en-US/thunderbird/extensions/">extensions</a>, and there is one that fixes that called <a href="https://addons.mozilla.org/en-US/thunderbird/addon/1203/">Correct Identity</a>.</p>
<p>It allow one to set an alternative default email address for writing an email. Eg. The account is support@&#8230;, but whenever you send out email from that account, it should be from tohir@&#8230;, that&#8217;s the issue it solves!</p>
<p><map name='google_ad_map_491_d66c8ad2bfa7c2ab'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/491?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_491_d66c8ad2bfa7c2ab' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=491&amp;url= http%3A%2F%2Fwww.tohir.co.za%2F2011%2F01%2F05%2Fthunderbird-and-correct-indentity-plugin%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.tohir.co.za/2011/01/05/thunderbird-and-correct-indentity-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why CSS gets confusing and why you should use SASS</title>
		<link>http://www.tohir.co.za/2010/09/30/why-css-gets-confusing-and-why-you-should-use-sass/</link>
		<comments>http://www.tohir.co.za/2010/09/30/why-css-gets-confusing-and-why-you-should-use-sass/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 11:19:26 +0000</pubDate>
		<dc:creator>Tohir</dc:creator>
				<category><![CDATA[HTML, CSS]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://www.tohir.co.za/2010/09/30/why-css-gets-confusing-and-why-you-should-use-sass/</guid>
		<description><![CDATA[Take the following HTML file with CSS. How will div2 look? &#60;html lang="en"&#62; &#60;head&#62; &#60;title&#62;SASS Test&#60;/title&#62; &#60;style type="text/css"&#62; div.div1 div { border: 4px solid yellow; background: yellow; } div.div1 { background: red; border: 4px solid blue; } div.div1 div.div2 { background: green; } div.div2 { border: 10px solid orange; padding: 10px; } &#60;/style&#62; &#60;/head&#62; &#60;body&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Take the following HTML file with CSS. How will div2 look?</p>
<pre>&lt;html lang="en"&gt;
&lt;head&gt;

&lt;title&gt;SASS Test&lt;/title&gt;

&lt;style type="text/css"&gt;
    div.div1 div {
        border: 4px solid yellow;
        background: yellow;
    }
    div.div1 {
        background: red;
        border: 4px solid blue;
    }</pre>
<pre>    div.div1 div.div2 {
        background: green;
    }</pre>
<pre>    div.div2 {
        border: 10px solid orange;
        padding: 10px;
    }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;div class="div1"&gt;
        Div 1
        &lt;div class="div2"&gt;
           Div 2
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>Based on the last definitions, you will expect div2 to have:</p>
<ul>
<li>a green background color</li>
<li>a 10 pixel solid orange border</li>
<li>a padding of 10 pixels between the border and the text</li>
</ul>
<p>Actually it will appear like this:</p>
<div><img style="max-width: 800px;" src="http://www.tohir.co.za/wp-content/uploads/2010/09/sass1.png" alt="" /></div>
<p>It does NOT have a 10 pixel solid orange border, but instead a four pixel solid yellow border. Even though CSS is cascading, it cascades by CSS rules, not by definitions. Even though an alternate definition is last, if it doesn&#8217;t cascade over an existing rule, it will not be applied.<span id="more-481"></span></p>
<p>The way of forcing it to it override a rule is to use !important. Redefining the last rule as:</p>
<p><span style="font-family: Courier New;"> div.div2 {<br />
border: 10px solid orange !important;<br />
padding: 10px;<br />
} </span></p>
<p>results in:</p>
<div><img style="max-width: 800px;" src="http://www.tohir.co.za/wp-content/uploads/2010/09/sass2.png" alt="" /></div>
<p>Also note that even though padding does not have !important, it gets applied because a definition for padding does not exist.</p>
<p>And just to make things more confusing, lets add another rule for div, so that the final CSS looks like this:</p>
<p><span style="font-family: Courier New;"> &lt;style type=&#8221;text/css&#8221;&gt;<br />
div.div1 div {<br />
border: 4px solid yellow;<br />
background: yellow;<br />
}</span></p>
<p>div.div1 {<br />
background: red;<br />
border: 4px solid blue;<br />
}</p>
<p>div.div1 div.div2 {<br />
background: green;<br />
}</p>
<p>div.div2 {<br />
border: 10px solid orange !important;<br />
padding: 10px;<br />
}</p>
<p>div {<br />
padding: 100px;<br />
}<br />
&lt;/style&gt;</p>
<p>We&#8217;ve added a definition for div to have a padding of 100 pixels. This results in:</p>
<div><img style="max-width: 800px;" src="http://www.tohir.co.za/wp-content/uploads/2010/09/sass3.png" alt="" /></div>
<p>It gets applied to the outer div, but not the inner! Enough to confound even the most hardcore .Net/Java developers.</p>
<p>!important may help, but this hack is not the best way of overcoming CSS issues.</p>
<p>One better way of doing this is to use <a href="http://sass-lang.com">Syntactically Awesome Stylesheets</a> or just Sass as its call. But first some theory on what Sass is.</p>
<p>According to its <a href="http://sass-lang.com/about.html">website</a>,</p>
<blockquote><p>Sass is a meta-language on top of CSS that’s used to describe the style of a document cleanly and structurally, with more power than flat CSS allows. Sass both provides a simpler, more elegant syntax for CSS and implements various features that are useful for creating manageable stylesheets.</p></blockquote>
<p>Sass provides a means for structuring your CSS in a nested way with rules, variables and functions, but that then has to be compiled (by Sass) into a CSS file.</p>
<p><strong>Installation of Sass</strong></p>
<p>Sass requires the Ruby programming language. Sass itself is a Ruby Gem (as its called). Installation for Ubuntu can be found here: <a href="http://www.tohir.co.za/2010/07/09/installing-sass-3-0-on-ubuntu-10-4/">http://www.tohir.co.za/2010/07/09/installing-sass-3-0-on-ubuntu-10-4/</a></p>
<p>Check that you are using version 3, as it has more features.<br />
<strong><br />
Creating Your first Sass file</strong></p>
<p>1) Create a file call mycss.scss. SCSS is the generally accepted standard for Sass files.</p>
<p>2) Next, using a terminal, browse to the directory where that file is, and run the following command:</p>
<p><span style="font-family: Courier New;">sass -t compact &#8211;watch mycss.scss:mycss.css</span></p>
<p>Or in the case of the problem with Ubuntu:</p>
<p><span style="font-family: Courier New;">~/.gem/ruby/1.8/bin/sass -t compact &#8211;watch mycss.scss:mycss.css</span></p>
<p>3) In the  mycss.scss file, add the following:</p>
<p><span style="font-family: Courier New;">body {<br />
div.div1 {<br />
border: 1px solid red;<br />
background: yellow;</span></p>
<p>div.div2 {<br />
border: 1px solid blue;<br />
}</p>
<p>}<br />
}</p>
<p>If you now open the mycss.css file, its generated contents will be:</p>
<p><span style="font-family: Courier New;">body div.div1 { border: 1px solid red; background: yellow; }<br />
body div.div1 div.div2 { border: 1px solid blue; } </span></p>
<p>Notice how it generates the rules, and how they use the same style of rules to make it cascade properly. When sharing the original Sass file, it also makes it easier for others to understand the CSS.</p>
<p>The SCSS file is more important the the CSS file, as the CSS file can just be regenerated. All additions should be made to the SCSS file, but dont forget to generate the CSS one.</p>
<p>Lastly, a quick look at other CSS features. Assume that the design team decided when showing a boxed item, the borders of each of the sides should be different. Top has to be ridge, right dotted, bottom solid, and left dashed.</p>
<div>
<p><img style="max-width: 800px;" src="http://www.tohir.co.za/wp-content/uploads/2010/09/sass4.png" alt="" /></p>
</div>
<p>In Sass you can write a function (called a mixin), and then call that function later on.</p>
<p><span style="font-family: Courier New;">@mixin borders($width, $color){<br />
border-top:    $width ridge  $color;<br />
border-right:  $width dotted $color;<br />
border-bottom: $width solid  $color;<br />
border-left:   $width dashed $color;<br />
}</span></p>
<p>body {<br />
div.div1 {<br />
@include borders(blue, 10px);<br />
background: yellow;</p>
<p>div.div2 {<br />
border: 1px solid blue;<br />
}</p>
<p>}<br />
}</p>
<p>Will generate (uncompacted):</p>
<p><span style="font-family: Courier New;">body div.div1 {<br />
border-top: blue ridge 10px;<br />
border-right: blue dotted 10px;<br />
border-bottom: blue solid 10px;<br />
border-left: blue dashed 10px;<br />
background: yellow; }<br />
body div.div1 div.div2 {<br />
border: 1px solid blue; }</span></p>
<p>Much more features are demonstrated on the website at <a href="http://sass-lang.com/">http://sass-lang.com/</a></p>
<p><map name='google_ad_map_481_d66c8ad2bfa7c2ab'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/481?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_481_d66c8ad2bfa7c2ab' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=481&amp;url= http%3A%2F%2Fwww.tohir.co.za%2F2010%2F09%2F30%2Fwhy-css-gets-confusing-and-why-you-should-use-sass%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.tohir.co.za/2010/09/30/why-css-gets-confusing-and-why-you-should-use-sass/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wireshark Filters &#8211; Ajax Example</title>
		<link>http://www.tohir.co.za/2010/09/30/wireshark-filters-ajax-example/</link>
		<comments>http://www.tohir.co.za/2010/09/30/wireshark-filters-ajax-example/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 08:05:12 +0000</pubDate>
		<dc:creator>Tohir</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software and Technology]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[wireshark]]></category>

		<guid isPermaLink="false">http://www.tohir.co.za/?p=461</guid>
		<description><![CDATA[I&#8217;ve blogged about Wireshark before, and how to use it for Ajax. Next is a quick tip on how to use Wireshark&#8217;s filters feature to only watch for AJAX requests. In the filter tab, enter: http.request.uri contains "php" &#124;&#124;  http.content_type == "text/html" This effectively reads, only log items where: The HTTP request contains PHP, OR [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve blogged about <a href="http://www.tohir.co.za/2010/02/01/getting-started-with-wireshark-the-fiddler-for-ubuntu/">Wireshark</a> before, and <a href="http://www.tohir.co.za/2010/05/10/wireshark-and-trucated/">how to use it for Ajax</a>. Next is a quick tip on how to use Wireshark&#8217;s filters feature to only watch for AJAX requests. In the filter tab, enter:</p>
<pre>http.request.uri contains "php" ||  http.content_type == "text/html"</pre>
<p>This effectively reads, only log items where:</p>
<ol>
<li>The HTTP request contains PHP, OR</li>
<li>The HTTP response is &#8220;text/html&#8221;</li>
</ol>
<p><a href="http://www.tohir.co.za/wp-content/uploads/2010/09/wireshark_filters.png"><img class="alignnone size-large wp-image-462" title="Wireshark Filters" src="http://www.tohir.co.za/wp-content/uploads/2010/09/wireshark_filters-1024x472.png" alt="Wireshark Filters" width="819" height="378" /></a></p>
<p>Useful, dont have to wade through whats an Ajax response, bypass images, etc. One thing that would be nice would be if the area that shows the filter expression was longer!</p>
<p><map name='google_ad_map_461_d66c8ad2bfa7c2ab'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/461?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_461_d66c8ad2bfa7c2ab' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=461&amp;url= http%3A%2F%2Fwww.tohir.co.za%2F2010%2F09%2F30%2Fwireshark-filters-ajax-example%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.tohir.co.za/2010/09/30/wireshark-filters-ajax-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing SASS 3.0 on Ubuntu 10.4</title>
		<link>http://www.tohir.co.za/2010/07/09/installing-sass-3-0-on-ubuntu-10-4/</link>
		<comments>http://www.tohir.co.za/2010/07/09/installing-sass-3-0-on-ubuntu-10-4/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 13:40:51 +0000</pubDate>
		<dc:creator>Tohir</dc:creator>
				<category><![CDATA[HTML, CSS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software and Technology]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sass]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tohir.co.za/?p=409</guid>
		<description><![CDATA[Currently, the HAML/Sass version on Ubuntu is 2.2.17. Version 3, also known as Classy Cassidy, includes new features. So how can you install it on Ubuntu. Firstly, you need Ruby: sudo apt-get install ruby Thereafter (without sudo): gem install haml-edge This will install Haml and Sass into your directory, but at least you will have [...]]]></description>
			<content:encoded><![CDATA[<p>Currently, the <a href="http://sass-lang.com/">HAML/Sass</a> version on Ubuntu is 2.2.17. Version 3, also known as Classy Cassidy, includes new features. So how can you install it on Ubuntu.</p>
<p>Firstly, you need Ruby:</p>
<pre>sudo apt-get install ruby</pre>
<p>Thereafter (without sudo):</p>
<pre>gem install haml-edge</pre>
<p>This will install Haml and Sass into your directory, but at least you will have access to the latest version. Message that appears:</p>
<pre>WARNING:  Installing to ~/.gem since /var/lib/gems/1.8 and
 /var/lib/gems/1.8/bin aren't both writable.
WARNING:  You don't have /home/tohir/.gem/ruby/1.8/bin in your PATH,
 gem executables will not run.
Successfully installed haml-edge-3.1.49
1 gem installed</pre>
<p>You can test that it is the latest version by:</p>
<pre>~/.gem/ruby/1.8/bin/sass -version
</pre>
<p>Which should return:</p>
<pre>Haml/Sass 3.1.49 (Bleeding Edge)</pre>
<p>Lastly, there is a nice command to watch files and auto generate an updated version:</p>
<pre>~/.gem/ruby/1.8/bin/sass -t compact --watch [inputfile]:[outputfile]</pre>
<p>like:</p>
<pre>~/.gem/ruby/1.8/bin/sass -t compact --watch browseView.scss:browseView.css</pre>
<p><map name='google_ad_map_409_d66c8ad2bfa7c2ab'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/409?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_409_d66c8ad2bfa7c2ab' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=409&amp;url= http%3A%2F%2Fwww.tohir.co.za%2F2010%2F07%2F09%2Finstalling-sass-3-0-on-ubuntu-10-4%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.tohir.co.za/2010/07/09/installing-sass-3-0-on-ubuntu-10-4/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Blocking Search Results in Google</title>
		<link>http://www.tohir.co.za/2010/05/20/blocking-search-results-in-google/</link>
		<comments>http://www.tohir.co.za/2010/05/20/blocking-search-results-in-google/#comments</comments>
		<pubDate>Thu, 20 May 2010 13:50:51 +0000</pubDate>
		<dc:creator>Tohir</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software and Technology]]></category>

		<guid isPermaLink="false">http://www.tohir.co.za/2010/05/20/blocking-search-results-in-google/</guid>
		<description><![CDATA[I find it quite annoying that when ever I do a search related to ExtJS, two sites (codeweblog.com and defafe.com) are on the first page of results. These two sites simply aggregate ExtJS forum posts, and then present them in a SEO friendly page. Given this, I took to finding a way that can block [...]]]></description>
			<content:encoded><![CDATA[<p>I find it quite annoying that when ever I do a search related to ExtJS, two sites (codeweblog.com and defafe.com) are on the first page of results. These two sites simply aggregate ExtJS forum posts, and then present them in a SEO friendly page.</p>
<p>Given this, I took to finding a way that can block search results. Officially, there&#8217;s no way you can do that from within Google settings (which would have preserved that as you moved from machine to machine), but there are extensions for Firefox. Still looking for a Chrome one!</p>
<p>For Firefox, there are a few extensions. One is <a href="http://www.customizegoogle.com">CustomizeGoogle</a>, but it doesnt work in the latest version of Firefox.</p>
<p>The one that does work is <a href="https://addons.mozilla.org/en-US/firefox/addon/12305/">SurfClarity</a>. It allows you to list of a sites that should be filtered out. It doesn&#8217;t do it from the server-side which would save a 1kb of traffic, but nonetheless is good enough.</p>
<p><map name='google_ad_map_407_d66c8ad2bfa7c2ab'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/407?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_407_d66c8ad2bfa7c2ab' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=407&amp;url= http%3A%2F%2Fwww.tohir.co.za%2F2010%2F05%2F20%2Fblocking-search-results-in-google%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.tohir.co.za/2010/05/20/blocking-search-results-in-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Loop through the Properties of an Object in JavaScript</title>
		<link>http://www.tohir.co.za/2010/05/10/how-to-loop-through-the-properties-of-an-object-in-javascript/</link>
		<comments>http://www.tohir.co.za/2010/05/10/how-to-loop-through-the-properties-of-an-object-in-javascript/#comments</comments>
		<pubDate>Mon, 10 May 2010 12:41:39 +0000</pubDate>
		<dc:creator>Tohir</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.tohir.co.za/?p=404</guid>
		<description><![CDATA[for (var key in object) { &#160;&#160; alert('value of '+key+' is '+object[key]); }]]></description>
			<content:encoded><![CDATA[<pre>for (var key in object) {
&nbsp;&nbsp;  alert('value of '+key+' is '+object[key]);
}</pre>
<p><map name='google_ad_map_404_d66c8ad2bfa7c2ab'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/404?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_404_d66c8ad2bfa7c2ab' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=404&amp;url= http%3A%2F%2Fwww.tohir.co.za%2F2010%2F05%2F10%2Fhow-to-loop-through-the-properties-of-an-object-in-javascript%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.tohir.co.za/2010/05/10/how-to-loop-through-the-properties-of-an-object-in-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wireshark and [truncated]</title>
		<link>http://www.tohir.co.za/2010/05/10/wireshark-and-trucated/</link>
		<comments>http://www.tohir.co.za/2010/05/10/wireshark-and-trucated/#comments</comments>
		<pubDate>Mon, 10 May 2010 09:49:00 +0000</pubDate>
		<dc:creator>Tohir</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.tohir.co.za/?p=399</guid>
		<description><![CDATA[I&#8217;ve posted a tutorial on how to get wireshark up and running on Ubuntu. The one problem , though, is that sometimes (actually often) you get [truncated]. How can you untruncate or turn it off or increase its size. This isn&#8217;t the answer, but a way of how to get access to the full response: [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve posted a tutorial on <a href="http://www.tohir.co.za/2010/02/01/getting-started-with-wireshark-the-fiddler-for-ubuntu/">how to get wireshark up and running on Ubuntu</a>. The one problem , though, is that sometimes (actually often) you get [truncated]. How can you untruncate or turn it off or increase its size.</p>
<p>This isn&#8217;t the answer, but a way of how to get access to the full response:</p>
<p>Right Click on the Packet in Line-based text data, then choose Copy &gt; Bytes (Printable Text Only).</p>
<p>This will place the full response, and you can paste it in a text editor.</p>
<p><map name='google_ad_map_399_d66c8ad2bfa7c2ab'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/399?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_399_d66c8ad2bfa7c2ab' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=399&amp;url= http%3A%2F%2Fwww.tohir.co.za%2F2010%2F05%2F10%2Fwireshark-and-trucated%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.tohir.co.za/2010/05/10/wireshark-and-trucated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starting to like the toolbar in Ubuntu 10.4 file manager</title>
		<link>http://www.tohir.co.za/2010/05/04/starting-to-like-the-toolbar-in-ubuntu-10-4-file-manager/</link>
		<comments>http://www.tohir.co.za/2010/05/04/starting-to-like-the-toolbar-in-ubuntu-10-4-file-manager/#comments</comments>
		<pubDate>Tue, 04 May 2010 08:52:08 +0000</pubDate>
		<dc:creator>Tohir</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software and Technology]]></category>

		<guid isPermaLink="false">http://www.tohir.co.za/?p=395</guid>
		<description><![CDATA[The one thing that horrified me in the latest version of Ubuntu was the &#8216;new&#8217; toolbar for Nautilus or the file manager. However, after reading Deconstructing Nautilus and rebuilding it better, I have to admit, I enjoy it. Why? Even though I tend to browser elsewhere by typing in the path, the UP button is [...]]]></description>
			<content:encoded><![CDATA[<p>The one thing that horrified me in the latest version of Ubuntu was the &#8216;new&#8217; toolbar for Nautilus or the file manager.</p>
<p><img class="aligncenter size-full wp-image-396" title="ubuntu10.4toolbar" src="http://www.tohir.co.za/wp-content/uploads/2010/05/ubuntu10.4toolbar.png" alt="" width="802" height="106" /></p>
<p>However, after reading <a href="http://www.design-by-izo.com/2010/02/27/deconstructing-nautilus-and-rebuilding-it-better/">Deconstructing Nautilus and rebuilding it better</a>, I have to admit, I enjoy it. Why?</p>
<p>Even though I tend to browser elsewhere by typing in the path, the UP button is probably the most used button by myself. Switching to the location bar provides no alternative, but keeping the button bar allows one a form of up button.</p>
<p>Secondly, CTRL+L is probably something I can live with.</p>
<p>Given the whole debate around this, the lesson I believe is that don&#8217;t ignore your existing users. If you are going to change something, inform your users!</p>
<p>Given the opensource community spirit, it wont be long before someone does a quick script to bring back the old toolbar. If you are looking to do that today, have a look at: <a href="https://help.ubuntu.com/community/RestoreNautilusLocationBar">https://help.ubuntu.com/community/RestoreNautilusLocationBar</a></p>
<p><map name='google_ad_map_395_d66c8ad2bfa7c2ab'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/395?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_395_d66c8ad2bfa7c2ab' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=395&amp;url= http%3A%2F%2Fwww.tohir.co.za%2F2010%2F05%2F04%2Fstarting-to-like-the-toolbar-in-ubuntu-10-4-file-manager%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://www.tohir.co.za/2010/05/04/starting-to-like-the-toolbar-in-ubuntu-10-4-file-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

