<?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>Midnight Oil &#187; admin</title>
	<atom:link href="http://tech.rehaniftikhar.com/author/admin/feed" rel="self" type="application/rss+xml" />
	<link>http://tech.rehaniftikhar.com</link>
	<description>Losing sleep on Open Source Software</description>
	<lastBuildDate>Tue, 03 Nov 2009 18:24:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Breaking down the insurmountable task of writing legacy tests in Symfony</title>
		<link>http://tech.rehaniftikhar.com/symfony/breaking-down-the-insurmountable-task-of-writing-legacy-tests-in-symfony</link>
		<comments>http://tech.rehaniftikhar.com/symfony/breaking-down-the-insurmountable-task-of-writing-legacy-tests-in-symfony#comments</comments>
		<pubDate>Tue, 03 Nov 2009 18:24:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://tech.rehaniftikhar.com/?p=37</guid>
		<description><![CDATA[If you&#8217;ve inherited an application written with the Symfony framework that doesn&#8217;t include functional tests (or you just plain didn&#8217;t write them to being with) it can seem like an insurmountable task to create any significant level of code coverage. I found myself in this position and felt overwhelmed by the task ahead of me.
Heeding [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve inherited an application written with the <a href="http://www.symfony-project.org/" target="_blank">Symfony</a> framework that doesn&#8217;t include functional tests (or you just plain didn&#8217;t write them to being with) it can seem like an insurmountable task to create any significant level of <a href="http://en.wikipedia.org/wiki/Code_coverage" target="_blank">code coverage</a>. I found myself in this position and felt overwhelmed by the task ahead of me.</p>
<p>Heeding the advice of my productivity guru: &#8220;don&#8217;t bite off more than you can chew&#8221; (thanks ma!), I used the following grep sequence to generate some organic milestones. Now I know the number of actions per module</p>
<p><code>grep -c "function execute[A-Z]" apps/frontend/ -R | grep ".php:" | grep -v ":0$" | grep -v "components.class.php"<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.rehaniftikhar.com/symfony/breaking-down-the-insurmountable-task-of-writing-legacy-tests-in-symfony/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trac-BZR: installing on Ubuntu/Debian</title>
		<link>http://tech.rehaniftikhar.com/ubuntu/trac-bzr-installing-on-ubuntudebian</link>
		<comments>http://tech.rehaniftikhar.com/ubuntu/trac-bzr-installing-on-ubuntudebian#comments</comments>
		<pubDate>Tue, 15 Sep 2009 19:31:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[System Admin]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://tech.rehaniftikhar.com/?p=30</guid>
		<description><![CDATA[A project I&#8217;m working on recently switched from Subversion (SVN) to Bazaar (BZR) for its Version Control System (VCS). Of the many things we didn&#8217;t like about Subversion (merging, line-ending conflicts, etc..), there were some things we&#8217;d grown to like, primarily the mature 3rd party ecosystem and its bread-winner Trac.Thankfully there are projects to extend [...]]]></description>
			<content:encoded><![CDATA[<p>A project I&#8217;m working on recently switched from <a href="http://subversion.tigris.org/" target="_blank">Subversion</a> (SVN) to <a href="http://bazaar-vcs.org/" target="_blank">Bazaar</a> (BZR) for its <a href="http://en.wikipedia.org/wiki/Revision_control" target="_blank">Version Control System</a> (VCS). Of the many things we didn&#8217;t like about Subversion (merging, line-ending conflicts, etc..), there were some things we&#8217;d grown to like, primarily the mature 3rd party ecosystem and its bread-winner <a href="http://trac.edgewall.org/">Trac</a>.Thankfully there are projects to extend Trac&#8217;s reach to other VCSs.</p>
<p>Of interest to me was <a href="https://launchpad.net/trac-bzr" target="_blank">trac-bzr</a>. Since Bazzar has the power of Canonical behind it, a cursory glance at the &#8220;universe&#8221; repository shows a package named &#8220;trac-bzr&#8221;. However a closer look reveals that this package is quite outdated:</p>
<pre>&gt;<strong>apt-cache show trac-bzr</strong>
Package: trac-bzr
Priority: optional
Section: universe/python
Installed-Size: 156
Maintainer: Ubuntu MOTU Developers &lt;ubuntu-motu@lists.ubuntu.com&gt;
Original-Maintainer: Chris Lamb &lt;chris@chris-lamb.co.uk&gt;
Architecture: all
Version: 0.2+<span style="color: #800000;"><strong>bzr31</strong></span>-3
...</pre>
<p>This seemed like a bad idea, seeing as the main branch was already at r69.</p>
<p>Here are the instructions on installing the latest version:</p>
<p>1. Make sure you have bzr installed</p>
<pre>sudo apt-get install bzr</pre>
<p>2. Get the latest version of trac</p>
<pre>sudo apt-get install trac</pre>
<p>3. Get the latest version of trac-bzr, and put it in a revisioned directory.</p>
<pre>bzr export ./trac-bzr-r`bzr revno lp:trac-bzr` lp:trac-bzr</pre>
<p>4. Install the plugin</p>
<pre>cd trac-bzr-r*
python setup.py install</pre>
<p>5. Configure trac to use the plugin as described in the trac-bzr README</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.rehaniftikhar.com/ubuntu/trac-bzr-installing-on-ubuntudebian/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prevent Symfony from &#8216;formatting&#8217; request parameters</title>
		<link>http://tech.rehaniftikhar.com/symfony/prevent-symfony-from-formatting-request-parameters</link>
		<comments>http://tech.rehaniftikhar.com/symfony/prevent-symfony-from-formatting-request-parameters#comments</comments>
		<pubDate>Tue, 15 Sep 2009 17:55:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Symfony]]></category>

		<guid isPermaLink="false">http://tech.rehaniftikhar.com/?p=25</guid>
		<description><![CDATA[I&#8217;ve been using Symfony for 2 years and I always though their formatting of routes was really cool. For example, if you want to generate a link to a specific action, you&#8217;d do something like this:
&#60;?php
echo link_to('Name of Link', '@route_to_action?param1=value1&#38;param2=value2');
And it would generate something like this:
&#60;a href="/module/action/param1/value1/param2/value2"&#62;Name of Link&#60;/a&#62;
However, for the first time, I found [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Symfony for 2 years and I always though their formatting of routes was really cool. For example, if you want to generate a link to a specific action, you&#8217;d do something like this:</p>
<pre>&lt;?php
echo link_to('Name of Link', '@route_to_action?param1=value1&amp;param2=value2');</pre>
<p>And it would generate something like this:</p>
<pre>&lt;a href="/module/action/param1/value1/param2/value2"&gt;Name of Link&lt;/a&gt;</pre>
<p>However, for the first time, I found myself NOT wanting this behavior. I wanted:</p>
<pre>&lt;a href="/module/action?param1=value1&amp;param2=value2"&gt;Name of Link&lt;/a&gt;</pre>
<p>I looked high and low, on and off for a few days. I finally found something in the forums, with a note saying it <strong>should</strong> be in the <a href="http://www.symfony-project.org/api/1_2/UrlHelper#method_link_to" target="_blank">documentation</a>, but isn&#8217;t.</p>
<pre>&lt;?php
echo link_to('Name of Link', '@route_to_action', array('query_string' =&gt; 'param1=value1&amp;param2=value2');</pre>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 103px; width: 1px; height: 1px;"><span class="small">64670 be<br />
</span></div>
]]></content:encoded>
			<wfw:commentRss>http://tech.rehaniftikhar.com/symfony/prevent-symfony-from-formatting-request-parameters/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting keyboard volume control working in KDE</title>
		<link>http://tech.rehaniftikhar.com/ubuntu/getting-keyboard-volume-control-working-in-kde</link>
		<comments>http://tech.rehaniftikhar.com/ubuntu/getting-keyboard-volume-control-working-in-kde#comments</comments>
		<pubDate>Fri, 04 Sep 2009 23:21:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://tech.rehaniftikhar.com/ubuntu/getting-keyboard-volume-control-working-in-kde</guid>
		<description><![CDATA[I recently switched from Gnome to KDE. One thing I noticed was the my volume up / volume down keys stopped working. The on-screen volume meter showed up, and reflected changes when I hit volume up or down, but it wasn&#8217;t changing my sound.
If I had kmixer open, I could see that the keys were [...]]]></description>
			<content:encoded><![CDATA[<p>I recently switched from Gnome to KDE. One thing I noticed was the my volume up / volume down keys stopped working. The on-screen volume meter showed up, and reflected changes when I hit volume up or down, but it wasn&#8217;t changing my sound.</p>
<p>If I had kmixer open, I could see that the keys were manipulating the PCM channel, not the Master or Front channels. A Google search later turned up a ticket on <a href="https://bugs.launchpad.net/ubuntu/+source/kdemultimedia/+bug/267245" target="_blank">Launchpad</a>. Turns out all you need to do is right click on the volume icon in the system tray and select &#8220;Select Master Channel&#8230;&#8221;.</p>
<p>For me, &#8220;PCM&#8221; was selected. I changed it to &#8220;Master&#8221; and viola</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.rehaniftikhar.com/ubuntu/getting-keyboard-volume-control-working-in-kde/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>svn2bzr and symlinks</title>
		<link>http://tech.rehaniftikhar.com/system-admin/svn2bzr-and-symlinks</link>
		<comments>http://tech.rehaniftikhar.com/system-admin/svn2bzr-and-symlinks#comments</comments>
		<pubDate>Wed, 26 Aug 2009 20:34:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[System Admin]]></category>

		<guid isPermaLink="false">http://tech.rehaniftikhar.com/system-admin/svn2bzr-and-symlinks</guid>
		<description><![CDATA[I used svn2bzr to import an Subversion repository (via dump file) to a Bazaar repository. My code has some places where symlinks are used. After the import, the symlinks were converted from links to files with the contents:
link ../path/to/link
I ran this snippet to find all locations of this event so I could fix them:

find . [...]]]></description>
			<content:encoded><![CDATA[<p>I used <a href="https://launchpad.net/svn2bzr" target="_blank">svn2bzr</a> to import an Subversion repository (via dump file) to a Bazaar repository. My code has some places where symlinks are used. After the import, the symlinks were converted from links to files with the contents:</p>
<pre>link ../path/to/link</pre>
<p>I ran this snippet to find all locations of this event so I could fix them:<br />
<code><br />
find . -size 1k -exec grep -E "^link" '{}' \; -print</code></p>
<p>Hope that helps.</p>
<p><strong>Update:</strong> Wrote a script that will remove the old links and replace them for you.</p>
<pre>
#!/bin/bash

if [ $# -eq 1 ]
then
DIRNAME=$1
else
DIRNAME=`pwd`
fi

broken_links=`find $DIRNAME -size 1k -exec grep -Es "^link" '{}' \; -print \
| xargs -l2 echo -e "" | awk '{print $2 " " $3}'`

echo -e "$broken_links" | while read line; do
link=`echo "$line" | cut -d ' ' -f2`;
target=`echo "$line" | cut -d ' ' -f1`;
relative_dir=`dirname $link`

cd $relative_dir; rm $link; ln -s $target $link
done</pre>
]]></content:encoded>
			<wfw:commentRss>http://tech.rehaniftikhar.com/system-admin/svn2bzr-and-symlinks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finding Out Your External IP Address from the Shell</title>
		<link>http://tech.rehaniftikhar.com/system-admin/finding-out-your-external-ip-address-from-the-shell</link>
		<comments>http://tech.rehaniftikhar.com/system-admin/finding-out-your-external-ip-address-from-the-shell#comments</comments>
		<pubDate>Sat, 11 Oct 2008 23:45:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[System Admin]]></category>

		<guid isPermaLink="false">http://tech.rehaniftikhar.com/system-admin/finding-out-your-external-ip-address-from-the-shell</guid>
		<description><![CDATA[I&#8217;m writing a script that needs to know the external IP address of the current machine (ifconfig only gives the local network address)

wget -q -O - http://checkip.dyndns.org &#124; html2text \
&#124; sed s/Current\ IP\ Address\:\ //

What this does is:

hit http://checkip.dyndns.org, silencing wget&#8217;s output and redirecting the downloaded file to stdout
parse the html page as text
get rid [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m writing a script that needs to know the external IP address of the current machine (<strong>ifconfig</strong> only gives the <em>local</em> network address)<br />
<code><br />
wget -q -O - http://checkip.dyndns.org | html2text \<br />
| sed s/Current\ IP\ Address\:\ //<br />
</code></p>
<p>What this does is:</p>
<ol>
<li>hit http://checkip.dyndns.org, silencing wget&#8217;s output and redirecting the downloaded file to <strong>stdout</strong></li>
<li>parse the html page as text</li>
<li>get rid of the cruft (I was thinking about using a complex regex here, but the IP address prefix seems less of a dependency concern than the actual dyndns service)</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://tech.rehaniftikhar.com/system-admin/finding-out-your-external-ip-address-from-the-shell/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why does my keypad reset my X server?</title>
		<link>http://tech.rehaniftikhar.com/uncategorized/why-does-my-keypad-reset-my-x-server</link>
		<comments>http://tech.rehaniftikhar.com/uncategorized/why-does-my-keypad-reset-my-x-server#comments</comments>
		<pubDate>Mon, 06 Oct 2008 19:20:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tech.rehaniftikhar.com/uncategorized/why-does-my-keypad-reset-my-x-server</guid>
		<description><![CDATA[For a while I&#8217;ve had this weird bug on my Ubuntu laptop where, while using an external keyboard, if I hit any key on the numeric keypad the current X server would reset. Incredibly annoying. What&#8217;s worse, is that I never really got around to &#8220;fixing&#8221; the problem, I just trained my right hand to [...]]]></description>
			<content:encoded><![CDATA[<p>For a while I&#8217;ve had this weird bug on my Ubuntu laptop where, while using an external keyboard, if I hit any key on the numeric keypad the current X server would reset. Incredibly annoying. What&#8217;s worse, is that I never really got around to &#8220;fixing&#8221; the problem, I just trained my right hand to not stray too far to the right. But of course, accidents happen, and this last time of losing work was the final &#8220;home loan that brought down the US economy&#8221;.</p>
<p>The problem originates somewhere between XGL and using your numeric keypad to control the pointer (known as Mouse Keys).</p>
<p>If you&#8217;re sure you don&#8217;t need XGL (check your xorg.conf first!), then simply remove it:</p>
<p><code>sudo apt-get remove xserver-xgl</code></p>
<p>And disable your Mouse Keys:</p>
<ol>
<li><strong>System -&gt; Preferences -&gt; Keyboard</strong></li>
<li><strong>Mouse Keys </strong>(tab)<strong> </strong></li>
<li>Uncheck &#8220;Allow to control the pointer using the keyboard&#8221;</li>
</ol>
<p>Now restart your machine, and <em>Voilà</em></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.rehaniftikhar.com/uncategorized/why-does-my-keypad-reset-my-x-server/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion: undo files marked for deletion</title>
		<link>http://tech.rehaniftikhar.com/uncategorized/subversion-undo-files-marked-for-deletion</link>
		<comments>http://tech.rehaniftikhar.com/uncategorized/subversion-undo-files-marked-for-deletion#comments</comments>
		<pubDate>Mon, 21 Jul 2008 18:24:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tech.rehaniftikhar.com/uncategorized/subversion-undo-files-marked-for-deletion</guid>
		<description><![CDATA[Problem: While in Eclipse, my finger and thumb lost coordination and I accidentally dragged a folder up the file tree to a another folder. Since I have Subclipse installed, it automatically maked my changes for &#8220;addition&#8221; and &#8220;deletion&#8221; from the repo. A simple svn revert on the parent directory was not enough.
Solution:  For some reason [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Problem:</strong> While in Eclipse, my finger and thumb lost coordination and I accidentally dragged a folder up the file tree to a another folder. Since I have Subclipse installed, it automatically maked my changes for &#8220;addition&#8221; and &#8220;deletion&#8221; from the repo. A simple <code>svn revert</code> on the parent directory was not enough.</p>
<p><strong>Solution:  </strong>For some reason I&#8217;m used to Subversion commands being recursive by default (guess I&#8217;m used to doing a lot of updating?). This is apparently not the case with <code>revert</code>. You need to explicitly indicate the <code>-R [ --recursive ]</code>  option</p>
<p><strong>To revert an entire directory:<br />
</strong><code>svn revert --recursive &lt;directory&gt;<directory></directory></code></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.rehaniftikhar.com/uncategorized/subversion-undo-files-marked-for-deletion/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSolaris: Getting WPA &#8216;to work&#8217;</title>
		<link>http://tech.rehaniftikhar.com/uncategorized/opensolaris-getting-wpa-to-work</link>
		<comments>http://tech.rehaniftikhar.com/uncategorized/opensolaris-getting-wpa-to-work#comments</comments>
		<pubDate>Sun, 11 May 2008 08:09:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[libssl]]></category>
		<category><![CDATA[opensolaris]]></category>
		<category><![CDATA[wpa]]></category>

		<guid isPermaLink="false">http://tech.rehaniftikhar.com/uncategorized/opensolaris-getting-wpa-to-work</guid>
		<description><![CDATA[I was eager to try out the new release of OpenSolaris (release Indiana I think). Popped in the LiveCD, got a nice boot menu, was greeted by a HUGE license agreement dialog, and the next think I knew I was up and running in a nice Gnome 2.2 Desktop (laptop?) environment.
There was even a convenient [...]]]></description>
			<content:encoded><![CDATA[<p>I was eager to try out the new release of OpenSolaris (release Indiana I think). Popped in the LiveCD, got a nice boot menu, was greeted by a HUGE license agreement dialog, and the next think I knew I was up and running in a nice Gnome 2.2 Desktop (laptop?) environment.</p>
<p>There was even a convenient and deceivingly helpful little WiFi network prompt that showed me all of my local networks. I found mine, and clicked connect. The screen went away, I <em>assumed</em> I was connected, but alas to not avail, I was not.</p>
<p>For some reason, the little WiFi tool (that shall remain nameless) could identify that my network used WPA security, but couldn&#8217;t connect to it. Helpful, but only in a deceiving way. At first I didn&#8217;t think much of it. Even Ubuntu has its WPA woes a few releases ago.</p>
<p>So then I embarked on the &#8220;chicken-egg-chicken-egg&#8221; scenario of downloading drivers from the internet that enable my computer to connect to the internet. One Ethernet cable and a Google search later, I found the OpenSolaris laptop support page with a mini tutorial on how to install the wpa_supplicant (again, very reminiscent of the Ubuntu olden days).</p>
<p>Got everything downloaded and installed, but when I tried to start the wpa_supplicant daemon, I got this nasty, brutish error:<br />
<code><br />
ld.so.1: wpa_supplicant: fatal : libssl.so.0.9.7: open failed: No such file or directory<br />
</code></p>
<p>&#8220;Okay&#8221; me thought to myself, &#8220;I need libssl&#8221;. But when I went to check, I sure enough had OpenSSL already and its version was 0.9.8a</p>
<p>At this point I was crying and screaming on the floor. My new toy wasn&#8217;t going to work. Why does this always happen to &#8220;me&#8221;?!? The last thing I wanted to do was start symlinking &#8220;shit&#8221; around in an OS I wasn&#8217;t familiar with.</p>
<p>What happened next is what highlights a fundamental difference b/w men and women (note: I am man). A woman by the name of Karen Tung simply asked how to fix this problem on an OpenSolaris <a href="http://ru.opensolaris.org/jive/thread.jspa?threadID=48443">forum.</a> I guess its like the proverbial &#8220;let&#8217;s stop and ask for directions&#8221;&#8230;&#8221;go to hell, I&#8217;m not lost&#8221; scenario.</p>
<p>Here is the solution, reposted in its infinite glory:<br />
<code><br />
# from the terminal...<br />
# change to the root account.<br />
# the root pw on the livecd is 'opensolaris'<br />
su root<br />
dladm create-secobj -c wpa mykey<br />
# enter your psk twice<br />
dladm connect-wifi -e "<essid>&lt;essid&gt;" -k mykey &lt;interface&gt;<interface><br />
</interface></essid></code></p>
<p>If you don&#8217;t get any &#8220;shitty&#8221; feedback like a segmentation fault, you should get that overly persistent, initially deceiving WiFi dialog popup (within a few minutes, hang tight). Find your ESSID you entered above, enter your psk ONE MORE TIME and you should be cool.  You should receive a dialog confirmation saying something like</p>
<blockquote><p>Brought interface interface up, got address xxx.xxx.xxx.xxx</p></blockquote>
<p>Now you can post on your blog from the liveCD&#8230;like someone I know&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.rehaniftikhar.com/uncategorized/opensolaris-getting-wpa-to-work/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSolaris: Not so fast</title>
		<link>http://tech.rehaniftikhar.com/uncategorized/opensolaris-not-so-fast</link>
		<comments>http://tech.rehaniftikhar.com/uncategorized/opensolaris-not-so-fast#comments</comments>
		<pubDate>Thu, 08 May 2008 07:35:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tech.rehaniftikhar.com/uncategorized/opensolaris-not-so-fast</guid>
		<description><![CDATA[Long story short:

Sun says: &#8220;OpenSolaris is desktop ready&#8221;
Out-of-the-box: no decent (WPA, etc) WiFi support
Manageable until: you realize OpenSolaris needs an internet connection to &#8220;function properly&#8221;.

Just upgraded to Ubuntu 8.04. Leave &#8220;desktop readiness&#8221; to the experts.
]]></description>
			<content:encoded><![CDATA[<p>Long story short:</p>
<ol>
<li>Sun says: &#8220;OpenSolaris is desktop ready&#8221;</li>
<li>Out-of-the-box: no decent (WPA, etc) WiFi support</li>
<li>Manageable until: you realize OpenSolaris needs an internet connection to &#8220;function properly&#8221;.</li>
</ol>
<p>Just upgraded to Ubuntu 8.04. Leave &#8220;desktop readiness&#8221; to the experts.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.rehaniftikhar.com/uncategorized/opensolaris-not-so-fast/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
