<?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>S. P. T. Krishnan&#039;s take on things... &#187; Computer Science</title>
	<atom:link href="http://shruta.net/category/computer-science/feed/" rel="self" type="application/rss+xml" />
	<link>http://shruta.net</link>
	<description>perspectives, opinions, ideas</description>
	<lastBuildDate>Sat, 27 Mar 2010 00:02:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
		<item>
		<title>Virtualisation and missing RAM</title>
		<link>http://shruta.net/2009/04/virtualisation-and-missing-ram/</link>
		<comments>http://shruta.net/2009/04/virtualisation-and-missing-ram/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 18:58:50 +0000</pubDate>
		<dc:creator>Kris Flyer</dc:creator>
				<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://sptkrishnan.wordpress.com/?p=156</guid>
		<description><![CDATA[This is part 2 to my earlier post &#8220;A Linux crash, burn and recover experience&#8220;. I had mentioned in there that I plan to use a Virtual Machine (VM) strategy for easy backup and porting in future. However, the reality forced me to abandon the approach. It could also be that I don&#8217;t know the [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">This is part 2 to my earlier post &#8220;<a href="http://sptkrishnan.wordpress.com/2009/04/02/a-linux-crash-burn-and-recover-experience/">A Linux crash, burn and recover experience</a>&#8220;. I had mentioned in there that I plan to use a Virtual Machine (VM) strategy for easy backup and porting in future. However, the reality forced me to abandon the approach. It could also be that I don&#8217;t know the trade secrets <img src='http://shruta.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  read on&#8230;</p>
<p style="text-align:justify;"><span id="more-156"></span>As you know, I am using Red Hat Enterprise Linux (RHEL) for my server for the last several years. After recovery I decided to continue using the same OS. Therefore, the natural choice was to use xen as the virtual machine monitor. I used this server downtime to add more RAM totaling to 4GB and now the entire root partition is also protected by RAID 5.</p>
<p style="text-align:justify;">During the OS installation, I selected virtualisation to be installed. Basically, this means xen-enabled linux kernel would be installed by default. Everything seemed to be ok and I continued on to firstboot. After completion, I logged into the system and from a comman prompt, I did <strong>cat /proc/meminfo</strong> and to my shock the first line was <strong>MemTotal: 3753984 KB (3.58 GB)</strong> a whopping half-a-gb gone missing. This is no-go as then the VM would be running much slower with fewer resources <img src='http://shruta.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p style="text-align:justify;">In theory, 2^32 = 4096 so the entire 4GB of RAM should be addressable by the OS as physical memory. If there are any exception then it should be rounded-off to some big number but here <strong>3.58 GB</strong> doesn&#8217;t sound like it either. With no choice, I decide to re-install with the <strong>64-bit</strong> version of <strong>RHEL</strong> with the thoughts that 64 bit might recognize the entire 4GB. I was a bit hesitant about compatibility of the application software with a 64-bit OS. However, there was no other choice except to take the risk.</p>
<p style="text-align:justify;">As with 32 bit installation I selected virtualisation and this installed the xen-enabled 64-bit RHEL kernel. After firstboot, I checked the total memory and got another shock. The memtotal now is <strong>3708928 KB</strong>. This is <strong>45,056 KB</strong> less than 32 bit xen-enabled RHEL kernel. I was confused as to why a 64 bit kernel recognise less RAM compared to 32 bit OS. I googled around and didn&#8217;t find a direct answer. At the same time, some one was suggesting that PAE kernels recognise 4GB or more RAM. Also, I remembered about my another system where I have <strong>8GB of RAM</strong> and running <strong>Ubuntu 8.10 64 bit</strong> with kernel version <strong>2.6.27</strong>. Cat <strong>/pro/meminfo</strong> showed <strong>8181976 kB (7.8 GB)</strong>. I use vmware workstation and not xen as VMM in that box. I then did a <strong>yum search pae</strong> to select an appropriate PAE kernel. I discovered that PAE is a 32-bit kernel feature and is not available available for 64-bit kernel. It made sense; why will we need physical pages extension when 2^64 is itself a huge number. Now, my second choice is to use continue using 64 bit kernel (risking any future software incompatibilities), lose ~50MB more than corresponding 32 bit kernel. It didn&#8217;t add up to be a good choice. At this juncture, I thought about PAE 32 kernel with Xen might do the trick. I started my 3rd install of RHEL for the day.</p>
<p style="text-align:justify;">The 3rd choice was to install a PAE 32 bit kernel, verify the RAM is fully accessible and then turn on visualisation. The installation was smooth and after first boot, as with earlier attempts I did cat <strong>/proc/meminfo</strong> and hurray I got MemTotal: <strong>4149928 kB</strong>. I then did a <strong>uname -a</strong> and inferred that by default (without virtualisation selected at install) the <strong>anaconda</strong> system installer installs PAE enabled kernel if it detects 4GB or more RAM. This was a welcome note. Now, I again did a yum-search for xen and installed it and rebooted it. On the grub bootup screen I became wiser <img src='http://shruta.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  and learned the following</p>
<ul>
<li>32 bit kernel + xen = okay</li>
<li>32 bit kernel + PAE = okay</li>
<li>32 bit kernel + PAE + xen = NOT POSSIBLE</li>
</ul>
<p style="text-align:justify;">The above summarises it all. If you want PAE, forget XEN; if you want XEN forget PAE. Now, I have to make a hard decision whether to stick with my VM strategy and be constrained with only 3.5GB of RAM which could mean that the guest OS have only a maximum of 3GB RAM OR forget virtualisation and use all 4GB of RAM. I then factored in my hardware features (not to be generalized). The server is more than 4 years old and does not have vTX (hardware virtualisation) feature. I learned that this would make the VM run slower and compound this with the fact that 0.5GB is not there, this might result in a very slow VM or may be it won&#8217;t be noticeable. I was already tired for the day and wasn&#8217;t interested in doing another combinatorial experiment this time with VM variable. Therefore, I decided to abandon my VM strategy and be happy with the increased resources. As a take-away from this experience I have compiled who would have made the memory missing. I actually don&#8217;t know the answer, if you know please drop a reply, thanks !</p>
<p style="text-align:justify;">There are several suspects in my list</p>
<ol>
<li>Linux kernel ? RHEL version 5 uses 2.6.18.x as the base kernel. I am wondering if the Linux kernel has been fixed some time after the above kernel release. The reasoning being, Ubuntu 8.10 is able to see all the 8GB RAM (of course it was without xen)</li>
<li>Xen ? Is it that xen-enabling the Linux kernel makes the memory vanish ? If so, what do we conclude of xen technology in general ? do the peers face the same missing memory issues ?</li>
<li>Xen + PAE could have solved my problem but they were not compatible. Why ?</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://shruta.net/2009/04/virtualisation-and-missing-ram/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pleasantly surprised by Windows 7</title>
		<link>http://shruta.net/2009/04/pleasantly-surprised-by-windows-7/</link>
		<comments>http://shruta.net/2009/04/pleasantly-surprised-by-windows-7/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 08:15:17 +0000</pubDate>
		<dc:creator>Kris Flyer</dc:creator>
				<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://sptkrishnan.wordpress.com/?p=151</guid>
		<description><![CDATA[I had a chance to beta test the upcoming release of Windows OS, version 7. I didn&#8217;t have any expectations for the Windows Vista successor; I have downgraded all my factory-installed Vista systems to Windows XP within 15 minutes   &#8230; I was pleasantly surprised with what Microsoft had done this time though :O

With [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">I had a chance to beta test the upcoming release of Windows OS, version 7. I didn&#8217;t have any expectations for the Windows Vista successor; I have downgraded all my factory-installed Vista systems to Windows XP within 15 minutes <img src='http://shruta.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  &#8230; I was pleasantly surprised with what Microsoft had done this time though :O</p>
<p style="text-align:justify;"><span id="more-151"></span></p>
<p style="text-align:justify;">With no expectations and in fact negative expectations, I didn&#8217;t want to destroy any of my trusted Windows XP systems . I had a 7 year old laptop (P4 and 1GB RAM) which I came with Windows XP and now serving as test machine for anything that came new (Fedora 10, Ubuntu 8.10, Open BSD among others). I decided to lose my Fedora 10 (it rocks btw) and risk with that Windows 7 will turn out to be.</p>
<p style="text-align:justify;">The installation was very smooth. Very few questions being asked and the time it took was also reasonable given that the hardware is very old. When I rebooted for the first time after installation, I noticed that the startup time is very fast (&lt; 20 secs ?). You should read this number taking my hardware into picture. Therefore, I would assume that it would be much faster in modern systems. Once I logged in I noticed that the system was much more smoother and more responsive that Windows Vistas. I would even say that on the same hardware, it was probably more responsive that the original OS, Windows XP.</p>
<p style="text-align:justify;">I didn&#8217;t spend much time with the OS but in the quick 2 hours or so, I concluded that Windows 7 would be good product and worth a try. Let us wait and see. In the mean time, for more information click on <a title="Windows 7" href="http://www.microsoft.com/windows/windows-7/default.aspx">Windows 7</a> .</p>
]]></content:encoded>
			<wfw:commentRss>http://shruta.net/2009/04/pleasantly-surprised-by-windows-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Linux crash, burn and recover experience&#8230;</title>
		<link>http://shruta.net/2009/04/a-linux-crash-burn-and-recover-experience/</link>
		<comments>http://shruta.net/2009/04/a-linux-crash-burn-and-recover-experience/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 13:12:06 +0000</pubDate>
		<dc:creator>Kris Flyer</dc:creator>
				<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://sptkrishnan.wordpress.com/?p=143</guid>
		<description><![CDATA[One of my trustworthy RHEL servers which was up (virtually) for 4+ years and served thousands of users over-the-web recently crashed. As data in the server was critical, we had to undertake a salvage operation before re-install. This post is my experience of recovering the server&#8217;s data and also some of the lessons learned and [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">One of my trustworthy <strong>RHEL</strong> servers which was up (virtually) for 4+ years and served thousands of users over-the-web recently crashed. As data in the server was critical, we had to undertake a salvage operation before re-install. This post is my experience of recovering the server&#8217;s data and also some of the lessons learned and new strategies evolved for configuring future resilient server&#8230;</p>
<p style="text-align:justify;"><span id="more-143"></span>Since 2002, I have been volunteering some of my free time to help out the local red cross unit in Singapore. The story begins somewhere in 2004 when we decided to procure a server for running some of the internal IT services used for blood donor recruitment, recognition, retention and recall. Over time, the server got loaded with more and more services and it was beginning to look like a crash could mean a lot of downtime.</p>
<p style="text-align:justify;">It is not the case that we didn&#8217;t have any backup. With the IT budget that was available, I had configured a <strong>soft raid</strong> of <strong>level 1(replication)</strong> for two of the critical partitions of the server &#8211; <strong>/home</strong> and <strong>/var</strong>. All was well until last year when we began taking regular backups of important configuration files and storing them remotely conforming to business continuity best practices. Late last year, I decided to take local full backups.</p>
<p style="text-align:justify;">The first sign of trouble seem to have been visible last year. As part of the backup process, we wanted to use an external usb hard disk. However, the server did not recognize the hard disk and create the respective <strong>/dev/</strong> entries although <strong>dmesg</strong> was showing the usb device as being recognized. with no /<strong>dev/</strong> entry the hard disk could not be mounted. I concluded at that time that it could be because of the mismatch between old <strong>usb1.x</strong> port and the new <strong>usb2</strong> hard disk. I wasn&#8217;t very convinced with that hypothesis but I didn&#8217;t have any alternate theories as well. Now in hind sight I know this hypothesis is not right.</p>
<p style="text-align:justify;">One fine day, the system console stopped responding normally and there was huge delays between echos for key strokes. I suspected a run-away process with potential memory leaks so just hit the reboot. On <strong>POST</strong> screen, <strong>BIOS</strong> reported that one of the hard disks is reporting a future failure (a <strong>SMART </strong>feature of new generation hard disks). Following this, the <strong>kernel</strong> refused to boot and dropped me into the maintenance prompt. After running <strong>fsck</strong> for well over an hour with hundreds of <strong>inodes</strong> being orphaned and added to the <strong>lost+found</strong> list, finally the server started booting&#8230;</p>
<p style="text-align:justify;">During the startup, two <strong>daemons</strong> &#8211; <strong>httpd</strong> and <strong>mysqld</strong> did not come up owning to some missing files. These two services are key to all our web apps and thus the server came to a stand still. Coupled with this was the fact that the server stopped at console-login and did not start up in <strong>X</strong> although the <strong>runlevel</strong> listed the server being in 5. I decided it was not worthy to continue using this server as what all was broken could not be cumulatively listed let alone being fixed.</p>
<p style="text-align:justify;">I didn&#8217;t even want to reboot since my intuition suspected that the server might never come up again. With the local external hard disk not recognizable the only option was to do a remote backup. Luckily, <strong>ssh</strong> was up and I was able to connect from outside to the server. However, I soon found out that <strong>scp</strong> was not found in the <strong>PATH</strong> and not on the filesystem. I did a which <strong>sftp</strong> and it was found. With a sigh of relief, I started to connect from outside. The relief was short lived because although the control connection could be established the data connection was not being created. There was no firewall and no other network blockage. I thought the missing scp could be the cause. Therefore, it seems that the only option was to dismantle the server and recover the data.</p>
<p style="text-align:justify;">Luckily, one of my friends (Kumar c/o thoughtsware) accidentally discovered that although pull technique was not working, push technique using <strong>ftp</strong> after ssh-in was working. Armed with this, I scrambled to setup with a ftp server to be the receiving end. By setup, I mean it, as I don&#8217;t usually use ftp because it is insecure. I started to move data one file a time from the server to this ftp site. The data was flowing but at a very slow rate. After a few days of data transfer, I decided it was time for the surgical data recovery on site. Another good friend and a mentor, Harish from Red Hat, offered to help out with the recovery.</p>
<p style="text-align:justify;">First, I wanted to test out if a flash drive was readable on the server. To my surprise, the crippled server was able to recognise the <strong>fat32</strong> filesystem drive and created the necessary <strong>/dev/</strong> entries. At this stage, I concluded that there was nothing wrong with the server hardware and something was not okay in the software when I earlier tried a <strong>ext3</strong> formatted disk. I started copying the data into the thumb drive but very soon the data transfer halted with the process becoming non-responsive as well. We guessed the process may have hit a <strong>bad sector.</strong> We decided it was time to shutdown the broken OS and try our last alternative.</p>
<p style="text-align:justify;">Our plan was that we boot the server using a live cd, <strong>Fedora 10</strong> in this case. Then mount an external hard disk and the internal hard disks and <strong>dd</strong> out the partitions and attempt a system recovery using the binary img files. The only unknown factor being the partition was <strong>soft raid</strong> partitions and we haven&#8217;t done a recovery before on this filesystem type.</p>
<p style="text-align:justify;">We booted the server using Fedora 10 live cd and successfully mounted the internal hard disks. Next, when we inserted the same external hard disk into the usb port, Fedora mounted it without any fuss. At this point, I infered that earlier attempts to mount it may have failed because root filesystem may have developed bad sectors at exactly the same spot where the entries are created.</p>
<p style="text-align:justify;">Without any delay, using <strong>dd</strong> we copied all the 4 raw partitions (2 raw partitions per raid 1 partition) to the external hard disk. Our attempts to copy out the <strong>boot</strong> and <strong>root</strong> partitions did not succeed as dd complained of missing superblocks info. After copying the raid partitions out, we decided to try our luck with booting the server back into the original, now broken OS and try out copy out configuration files by mounted a thumb drive as earlier. However, on reboot the server didn&#8217;t go anywhere beyond grub prompt. The server was totalled.</p>
<p style="text-align:justify;">Armed with the dd created partition binary files, I mounted the hard disk containing them in another Fedora 10 machine. Then I used <strong>losetup</strong> to mount the binary files as a loop back device. I then used <strong>mdadm</strong> to combine the respective component partitions and mounted them as a <strong>md0</strong> device. Following this, I mounted this md0 device under a directory and was able to see the files. Finally, I performed a recursive copy of the data in these mounted partitions into a clean <strong>ext3</strong> partition for restoring. In the end, we could not recover a few configuration files like <strong>apache, networking</strong> and such. However, majority of the data was recovered.</p>
<p style="text-align:justify;">I am now awaiting the hardware vendor to replace the parts and hopefully the server would be online in a few days.</p>
<p style="text-align:justify;">Based on this experience, new knowledge and technologies, our new server would be designed to be more reliable than the current one and in case of another crash, should be easier to recover as well. Our idea is to use <strong>virtualisation</strong> and run our current server in a <strong>VM</strong>. By this way, we can easily backup the entire server and also restore from backups more easily. Secondly, we can enforce security policies on the host OS and also on the guest OS while monitoring all the network traffic flowing to VM at the host level. The host will be responsible for providing a abstracted and redundant hardware layer to the VM taking care of the raid and other hardware specific features.</p>
<p style="text-align:justify;"><em>Feel free to comment on our recovery experience and the new server design strategy as well <img src='http://shruta.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p style="text-align:justify;">
]]></content:encoded>
			<wfw:commentRss>http://shruta.net/2009/04/a-linux-crash-burn-and-recover-experience/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Hackers Vs Crackers</title>
		<link>http://shruta.net/2009/02/hackers-vs-crackers/</link>
		<comments>http://shruta.net/2009/02/hackers-vs-crackers/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 15:08:23 +0000</pubDate>
		<dc:creator>Kris Flyer</dc:creator>
				<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://sptkrishnan.wordpress.com/?p=130</guid>
		<description><![CDATA[Exactly, 8 months ago to this date I had a chance to visit the Museum of Science and Industry in Chicago, United States. The exhibition was one of the largest I have ever been to. It featured exhibits from multiple disciplines of Science and was lively, interactive and very well maintained. Even with a few [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Exactly, 8 months ago to this date I had a chance to visit the <a title="Museum of Science and Industry, Chicago, US" href="http://www.msichicago.org/">Museum of Science and Industry in Chicago,</a> United States. The exhibition was one of the largest I have ever been to. It featured exhibits from multiple disciplines of Science and was lively, interactive and very well maintained. Even with a few stop-by&#8217;s it took us ~6 hours to cover it. I recommend a visit to the museum if you are in Chicago.</p>
<p style="text-align:justify;">One of the exhibits that captured my interest was on computer criminals&#8230;</p>
<p style="text-align:justify;"><span id="more-130"></span>&#8230;the museum has used the opportunity to educate the public on the intricate difference between the words &#8220;Hackers&#8221; and &#8220;Crackers&#8221;. While, even to this date, many IT publications refer to computer criminals as hackers, I am happy to note that the exhibition has done its part to help to clarify the  difference. The following tells it all, thanks msichicago <img src='http://shruta.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<div class="mceTemp mceIEcenter" style="text-align:justify;">
<dl class="wp-caption aligncenter">
<dt class="wp-caption-dt"><a href="http://sptkrishnan.files.wordpress.com/2009/02/dscn2117.jpg"><img class="size-full wp-image-132" title="Hackers Vs Crackers" src="http://sptkrishnan.files.wordpress.com/2009/02/dscn2117.jpg" alt="Hackers Vs Crackers" width="500" height="375" /></a></dt>
<dd class="wp-caption-dd">Hackers Vs Crackers (click to enlarge)
</dd>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://shruta.net/2009/02/hackers-vs-crackers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing IBM CELL SDK on Fedora 10</title>
		<link>http://shruta.net/2009/01/installing-ibm-cell-sdk-on-fedora-10/</link>
		<comments>http://shruta.net/2009/01/installing-ibm-cell-sdk-on-fedora-10/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 12:41:09 +0000</pubDate>
		<dc:creator>Kris Flyer</dc:creator>
				<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://sptkrishnan.wordpress.com/?p=85</guid>
		<description><![CDATA[If you have Linux running on a PS3 you would be delighted to know that IBM has released an update to the IBM CELL SDK version 3.1. The earlier version 3.0 was officially supported only on Fedora 7 and this version is supported on Fedora 9. This is very welcome given that Fedora 9 is [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">If you have Linux running on a PS3 you would be delighted to know that IBM has released an update to the IBM CELL SDK version 3.1. The earlier version 3.0 was officially supported only on Fedora 7 and this version is supported on Fedora 9. This is very welcome given that Fedora 9 is a much improved version compared to Fedora 7. At the same time, it still falls short of the latest version, Fedora 10.</p>
<p style="text-align:justify;"><span id="more-85"></span></p>
<p style="text-align:justify;">Why is this significant ? If you have tried Fedora 10 you would know that it is a pure solid distro and the best from the Fedora stable to date. Well, you may argue that every new version is better than the previous&#8230; true, but there is a difference between evolution and revolution. In my honest opinion, Fedora 10 is true to its tag line &#8220;Infrastructure matter&#8221;. It installs like a charm, and it is rock stable. Again, I think it brings the Fedora 10 very close to the market leader Ubuntu, currently at version 8.10. Take it for a spin and you will never look at another RPM-based distro.</p>
<p style="text-align:justify;">Secondly, the 60 page instructions for IBM SDK installation is just too much to read for doing a quick installation. The drawback is that the document tries to address all the possibilities for installing the SDK such was the different hardware (Blade Center, x86), OS (RHEL 5, Fedora) and upgrade choices. To address this, I have compiled below a short 5 step process to quickly install the SDK.</p>
<p style="text-align:justify;">The following is the instructions that worked for me on Fedora 10 to get IBM SDK version 3.1 installed. I have tried on both a VMware virtual machine and a dual-boot system.</p>
<p style="text-align:justify;"><strong><em>CELL SDK 3.1 installation instructions (simplified)</em></strong></p>
<p style="text-align:justify;"><em>OS: Fedora 10; other Linux OS YMMV</em></p>
<p style="text-align:justify;"><em>1) Downloading CELL SDK components: you can get these files from IBM developerworks website for CELL. Download the RPM, and the tgz file and untar+gunzip the tgz. It will create a new folder.<br />
</em></p>
<p style="text-align:justify;"><em>mkdir -p /tmp/cellsdkiso/<br />
cd /tmp/cellsdkiso<br />
Action: Download the following 2 files into this directory<br />
- cell-install-3.1.0-0.0.noarch<br />
- cellsdkiso (folder contains 2 files)</em>
</p>
<p style="text-align:justify;"><em>2) Installing pre-requisites:</em></p>
<p style="text-align:justify;"><em>yum install rsync sed tcl wget<br />
yum install expat<br />
Note: rsync sed expat were installed by default in Fedora 10</em>
</p>
<p style="text-align:justify;"><em>3) CELL SDK installation</em></p>
<p style="text-align:justify;"><em>rpm -ivh cell-install-3.1.0.0.0.noarch.rpm<br />
/opt/cell/cellsdk &#8211;iso /tmp/cellsdkiso install</em></p>
<p style="text-align:justify;"><em>4) Installing additional SDK components (optional)<br />
</em></p>
<p style="text-align:justify;"><em>/opt/cell/cellsdk &#8211;iso /tmp/cellsdkiso mount<br />
/opt/cell/cellsdk verify &gt; /tmp/cellsdk.verify<br />
grep optional /tmp/cellsdk.verify<br />
grep &#8220;not installed&#8221; /tmp/cellsdk.verify</em>
</p>
<p style="text-align:justify;"><em>5) Installing full system simulator:</em></p>
<p style="text-align:justify;"><em>download systemsim-cell from IBM alphaworks<br />
Fedora10 required BLT and gk libraries.<br />
</em>
</p>
<p style="text-align:justify;">I hope this is useful to you and please post your comments or questions below</p>
]]></content:encoded>
			<wfw:commentRss>http://shruta.net/2009/01/installing-ibm-cell-sdk-on-fedora-10/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Triple booting WinXP, Ubuntu and RHEL &#8211; an experience</title>
		<link>http://shruta.net/2007/07/triple-booting-winxp-ubuntu-and-rhel-an-experience/</link>
		<comments>http://shruta.net/2007/07/triple-booting-winxp-ubuntu-and-rhel-an-experience/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 14:59:42 +0000</pubDate>
		<dc:creator>Kris Flyer</dc:creator>
				<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://shruta.net/2007/07/03/triple-booting-winxp-ubuntu-and-rhel-an-experience/</guid>
		<description><![CDATA[This post is my experience, good and not-so-good, on my first stab into triple booting on a laptop.
Ok, I started with WinXP obviously since the OS always overwrites the MBR entirely and hence a bad choice as a second or third OS. I created one system partition for WinXP OS+apps and one user partition for [...]]]></description>
			<content:encoded><![CDATA[<p>This post is my experience, good and not-so-good, on my first stab into triple booting on a laptop.</p>
<p>Ok, I started with WinXP obviously since the OS always overwrites the MBR entirely and hence a bad choice as a second or third OS. I created one system partition for WinXP OS+apps and one user partition for what we care most about. Both are NTFS. Also, I don&#8217;t have any plans to move to Vista in the shorter term also.</p>
<p>Next, I choose to install RHEL5.  The reason is that, RHEL5 is a more mature and slow-moving linux distribution and has typical life-cycle of about 2 years between major releases. Compared with this, Ubuntu&#8217;s objective is to bring to the end-user latest, greatest software every 6 months. Since I normally move to the latest Ubuntu version by default, I thought having RHEL in first as second OS is a good decision.</p>
<p>So, I installed RHEL with a /boot, /, /home, swap partitions and checked that everything was in order with the root and a normal user accounts. So far, so good&#8230;</p>
<p>Now, my first question&#8230;<br />
<span id="more-18"></span></p>
<p>Although, Linux distributions have for a long time are good at recognizing windows and setting up properly the boot loader, they are not so good at recognizing another Linux distribution. From my experience so far, a second Linux distribution has never been able to recognize another Linux distribution and the user had to choose either to rewrite the boot loader and add in the first Linux distribution or choose not to install the boot loader from the second Linux distribution and then add in the second Linux distribution in the boot loader. Either way, user had to tweak with grub.conf to put a new stanza to make the missing Linux distribution work !!</p>
<p>With this task in my to-do list, I installed Ubuntu 7.04 on a separate /boot, / partitions but decided to share the /home and swap partitions with the RHEL installation. I thought this was the best way to converse space and also to share data since they contain only user data.</p>
<p>My first good shock&#8230;</p>
<p>Once Ubuntu was installed and on first boot the grub boot loader showed under &#8220;other operating systems&#8221;&#8230; WindowsXP and RHEL. <img src='http://shruta.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  My first expression was that, oh my god, he is doing it by default and playing a fair game. I was very relieved and had a good sense of feeling flowing through me, &#8220;Linux is almost in the desktop space&#8221;&#8230; it was like the words &#8220;a small step for a man, a giant step for mankind&#8221;&#8230; re-written as &#8220;a small step for ubuntu, a giant step for linux distributions&#8221;</p>
<p>As part of the ubuntu installation, I choose to use the same username that was created in the RHEL installation. It should be noted here that, under ubuntu the first account by default is given &#8217;sudo&#8217; access where as &#8217;sudo&#8217; access is disabled by default in RHEL distribution and the users are normal users. I am also using the same home directory as well.</p>
<p>Now, I continued booting into Ubuntu&#8230;</p>
<p>My first not-so-good experience.</p>
<p>The login into gnome caused some errors and logged me out of the system in 10 seconds. I logged in using ctrl+alt+f1 and figured out that my home directory did not belong to me any more! After a little investigation, I found that Ubuntu names its users from UID 500 whereas RHEL used UID from 1000 onwards. Since, I was using the same home directory, when I installed Ubuntu it did not replace the home directory nor any of the configuration files in it that was created by RHEL installation. To make things easy, I moved the UIDs of RHEL distro to be that of Ubuntu distro. I created a few more users under RHEL and observed that RHEL continued the sequence of Ubuntu UIDs.</p>
<p>After the fix-up I checked that I am able to login and completed the pending updates which proved that my &#8217;sudo&#8217; access was working! Everything seemed to be OK. Just to be double sure, I wished to boot back into the RHEL distribution to see everything is still fine.</p>
<p>My next not-so-good experience</p>
<p>When RHEL was booting up, I noticed the error message &#8220;unable to access resume device &#8217;swap-sda8&#8242;&#8221;. I googled for it and found that the swap partition was not being mounted for many users in fedora distribution. One user reported that doing &#8217;swapoff, mkswap, swapon&#8217; solved this problem. I wanted to check some thing else before trying this advice partly because the solution was for fedora and not directly to RHEL, although these distributions are siblings at best. Ok, I went on to check the &#8216;/etc/fstab&#8217; in both the distributions. I observed that while RHEL was using &#8216;LABEL&#8217;, Ubuntu was using UUID to identify the partitions in the hard disk. I thought this could be the problem since since my case is unique in that I am dual-booting two Linux distributions. Since, Ubuntu was installed after RHEL I decided to copy the line for Ubuntu fstab file into the RHEL fstab file. I did that and still during next boot of RHEL, the error kept appearing. So, I tried the forum solution and the error was gone to my relief.</p>
<p>Now, I booted into RHEL and logged in as root and the login was OK. I applied the pending updates through rhn_register &amp; yum and everything seems to be fine. Now, I logged into the normal shared user account and out-of-blue tens of warning dialogs appeared and after clicking &#8216;ok&#8217; to each of them, I was left with a black desktop, no toolbars of any kind but with desktop icons. I couldn&#8217;t pretty much do anything and so hit ctrl+alt+backspace and restarted X. Tried again, same behaviour. Tried again as root user and everything seems to be OK. My thoughts were that, Ubuntu replaced the configuration files used by RHEL and this caused the login problems for RHEL. To confirm this, I created another user account under RHEL and confirmed that I was able to login into the system. I backed up the &#8216;.&#8217; files and &#8216;.&#8217; directories created under RHEL and then proceeded to login into ubuntu. I was able to login, not surprised! then expecting for sure in RHEL, I booted back into RHEL and was shocked to be able to login in properly. I am confused, in that I am not able to reproduce the error&#8230;</p>
<p>The only conclusion I could come is that I did this experiment some weeks ago and at that time I recall that I was having some problems with the ubuntu installation specifically the new accelerated binary driver which had the cool desktop effects. Now, from the experiments and the results I believe that after the binary driver was loaded, I should have booted into RHEL which caused the GUI panic in GNOME. Since, the driver was not stable in that it crippled some elements in GNOME, I have since disabled it. As part of complete resolution, I had to completely remove all &#8216;.&#8217; files/folders in the home directory in ubuntu and start all over again. Now, to write this entry I don&#8217;t want to try again with the binary driver stuff <img src='http://shruta.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Inference:</p>
<p>1. I believe that the UID used by different Linux distribution are a minor concern. Can this starting UID be set somewhere in the installation wizard ?<br />
2. The common partitions, usually the home and swap partitions need to checked after installation of the second or third linux distributions.<br />
3. Is it possible that different gnome versions use different configuration file formats which are not backward-compatible ? since I am was able to login from command line initially when GUI was causing problems.</p>
<p>I would like to suggest/propose/enquire if it is possible to have different master configuration root directories ? that is currently the home directory contain all the configuration files and directories&#8230;instead if each distro maintains its own set of configuration files inside, say .rhel5 or .ubuntu704 folders in the home directory ?</p>
<p>If you have any suggestions or hints do post a reply <img src='http://shruta.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://shruta.net/2007/07/triple-booting-winxp-ubuntu-and-rhel-an-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What I wish in Mac OS XI ?</title>
		<link>http://shruta.net/2007/07/what-i-wish-in-os-xi/</link>
		<comments>http://shruta.net/2007/07/what-i-wish-in-os-xi/#comments</comments>
		<pubDate>Mon, 02 Jul 2007 14:44:59 +0000</pubDate>
		<dc:creator>Kris Flyer</dc:creator>
				<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://shruta.net/2007/07/02/what-i-wish-in-os-xi/</guid>
		<description><![CDATA[I know all of you are just recovering from the iPhone launch and desperately waiting for the iPhone to be available near you. For me, I waiting when it will be available in Asia in general and Singapore in particular&#8230;.
I have started using Mac OS X Tiger recently as a second system and I am [...]]]></description>
			<content:encoded><![CDATA[<p>I know all of you are just recovering from the iPhone launch and desperately waiting for the iPhone to be available near you. For me, I waiting when it will be available in Asia in general and Singapore in particular&#8230;.</p>
<p>I have started using Mac OS X Tiger recently as a second system and I am mesmerized with the graphics, stability and user friendliness. Now, I wish for something more in OS XI and I have a reasoning why it might be possible as well. Let us first recall some history</p>
<p>1. OS X moved away from a proprieratory kernel to FreeBSD 5.0.<br />
2. iPod entered and revolutionised the then crowded mp3 player market.<br />
3. Apple recently moved its MacBook line from IBM processors to Intel processors.</p>
<p>Now, what could be a ultimate marriage of technologies&#8230; and this is my wish as well.</p>
<p>Will apple fork or move its Mac OS to a linux kernel ? and if it does, think about it&#8230; the power of the lastest greatest software and the most beautiful and intuitive user interface even built. Now the question is, why didn&#8217;t apple choose linux kernel in the first place when they choose FreeBSD5 as their base ?</p>
<p>Could it be GPL ? I don&#8217;t think so since apple is currently publishing the modified version of BSD used in Mac OSX as garwin.</p>
<p>So, what is the probability that Apple will do this ? They certainly are capable of doing so as they have demostrated recently through their hardware, software switch in Macbook. I lay my wish here.</p>
<p>What do you think ? do drop some comments below</p>
]]></content:encoded>
			<wfw:commentRss>http://shruta.net/2007/07/what-i-wish-in-os-xi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building Google&#039;s Libjingle in ubuntu linux 5.10</title>
		<link>http://shruta.net/2006/02/building-googles-libjingle-in-ubuntu-linux-510/</link>
		<comments>http://shruta.net/2006/02/building-googles-libjingle-in-ubuntu-linux-510/#comments</comments>
		<pubDate>Wed, 15 Feb 2006 12:48:37 +0000</pubDate>
		<dc:creator>Kris Flyer</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[How-To]]></category>

		<guid isPermaLink="false">http://shruta.net/2006/02/15/building-googles-libjingle-in-ubuntu-linux-510/</guid>
		<description><![CDATA[Update (Jan 4 2009): this post is outdated in 2 ways&#8230; the latest version of ubuntu is 8.10 and the latest version of libjingle is 0.40 . I am no longer using libjingle as well  
Here is my experience building libjingle** in my Ubuntu Linux 5.10.  I spent nearly a day building it [...]]]></description>
			<content:encoded><![CDATA[<p>Update (Jan 4 2009): this post is outdated in 2 ways&#8230; the latest version of <a title="Ubuntu" href="http://www.ubuntu.com/" target="_blank">ubuntu</a> is 8.10 and the latest version of <a title="Linjingle 0.40" href="http://code.google.com/p/libjingle/downloads/list" target="_blank">libjingle</a> is 0.40 . I am no longer using libjingle as well <img src='http://shruta.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Here is my experience building libjingle** in my Ubuntu Linux 5.10.  I spent nearly a day building it (including many u-turns).  I am writing this how-to in the hope you will spend much less time.  YMMV.</p>
<p>Contents:</p>
<ol>
<li>Hardware tried on</li>
<li>Installation
<ol>
<li>Download</li>
<li>Installing dependencies using
<ol>
<li>Synaptic package manager</li>
<li>Direct compilation</li>
</ol>
</li>
</ol>
</li>
<li>Installing lilbjingle</li>
<li>Future Goodies</li>
</ol>
<p><span id="more-11"></span></p>
<p>I am using Ubuntu 5.10 with all updates as of this day of posting.  I have installed libjingle in the following hardware.<br />
* Fujitsu lifebook S7021<br />
* DELL Precision 670<br />
* Assembled PIV system</p>
<p>First, Install the following packages using <strong>Synaptic Package Manager</strong>.<br />
* libexpat1-dev<br />
* libglib2.0-dev<br />
* libogg-dev<br />
* libssl-dev<br />
* libasound2-dev</p>
<p>If some configure script later-on is unhappy with the env, installing the following may help.  These are few of the u-turns I experimented with.  These are not required per se.<br />
* libspeex-dev<br />
* openssl</p>
<p>Dowload the following external packages:<br />
* ortp, speex, iLBC, libjingle</p>
<p>I have created a parent folder &#8220;libjingle&#8221; and downloaded the packges there.<br />
Now CD to that folder and do the following instructions:</p>
<p>tar zxvf ortp-0.7.1.tar.gz<br />
tar zxvf speex-1.0.5.tar.gz<br />
tar zxvf ilbc-rfc3951.tar.gz<br />
tar zxvf libjingle-0.2.1.tar.gz</p>
<p>cd ortp-0.7.1<br />
./configure<br />
make<br />
sudo make install<br />
cd ..</p>
<p>cd speex-1.0.5<br />
./configure<br />
make<br />
sudo make install<br />
cd ..</p>
<p>cd ilbc-rfc3951<br />
./configure<br />
make<br />
sudo make install<br />
cd ..</p>
<p>cd libjingle-0.2.1<br />
./configure &#8211;with-ilbc=/usr/local<br />
make<br />
sudo make install</p>
<p>That&#8217;s it, your libjingle library is now inside the talk folder.  Enjoy.<br />
There are 3 examples included in the package.  I am yet to try out.</p>
<p>Future Goodies:</p>
<p>I have proposed using libjingle for my Real-Time Systems course module project in NUS, Singapore where I am doing my part-time PhD in Computer Science.  The Professor instantly accepted it with an additional &#8220;Wow&#8221; factor.</p>
<p>We believe we have come-up with an innovate RTS application using Google&#8217;s Talk infrastructure.  Once we bring it to realiy, which is scheduled for completion by end March 2006, we will release it the community including code.  My motto: take from community; give back to community.</p>
<p>** libjingle is an implementation of proposed jingle and jingle-audio extensions to XMPP (an IM) protocol.</p>
]]></content:encoded>
			<wfw:commentRss>http://shruta.net/2006/02/building-googles-libjingle-in-ubuntu-linux-510/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Want to access Linux filesystem in Windows ?</title>
		<link>http://shruta.net/2006/01/win-ext3-driver/</link>
		<comments>http://shruta.net/2006/01/win-ext3-driver/#comments</comments>
		<pubDate>Mon, 30 Jan 2006 03:35:48 +0000</pubDate>
		<dc:creator>Kris Flyer</dc:creator>
				<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://shruta.net/2006/01/30/want-to-access-linux-filesystem-in-windows/</guid>
		<description><![CDATA[Now you can ! &#8230; read on
I have always had the problem of losing my data in one of my operating systems&#8217; partitions.  If you are like me, you know the problem.  Simply-stated, I dual-boot [Windows/Linux] every computer I lay my hands on&#8230;well, except my servers where there is only Linux always !
I [...]]]></description>
			<content:encoded><![CDATA[<p>Now you can ! &#8230; read on</p>
<p>I have always had the problem of losing my data in one of my operating systems&#8217; partitions.  If you are like me, you know the problem.  Simply-stated, I dual-boot [Windows/Linux] every computer I lay my hands on&#8230;well, except my servers where there is only Linux always !</p>
<p>I know of atleast two methods to access the linux filesystem data in windows, each with its own pros and cons.  If you guys know more ways with superset of features compared to those being offered by these marvellous pieces of code, simple post a comment.</p>
<p><span id="more-9"></span></p>
<p>I knew of the first method several years ago and was using it sporadically because it did not have features I required.  The second method which I discovered a few days ago on the net, that prompted me to write this post, fullfills those requirements.</p>
<p>Method 1:</p>
<p>Name: explore2fs<br />
URL: <a href="http://uranus.it.swin.edu.au/~jn/linux/explore2fs.htm">http://uranus.it.swin.edu.au/~jn/linux/explore2fs.htm</a><br />
Author: John Newbigin</p>
<p>This piece of software acts like windows explorer, with the exception it explores linux ext2 and ext3 filesystems.</p>
<p>It provides only <em>read-access</em> and according to its website, as on this day of writing, the write support is permanently removed.  This is good for people who have fear that they might corrupt the filesystem while accesing from a cross-platform tool !</p>
<p>Another drawback I see in this tool is that native applications running in windows cannot access the data in ext2/3 filesystems directly i.e., let say you have a text document created using openoffice in linux and saved as .doc in a ext3 filesystem.  Now you want OfficeXP running in Windows to access this file&#8230;you can&#8217;t with this tool.  To have such a facility you need something called a filesystem driver and this tool doesn&#8217;t belong to this class !</p>
<p>However, the author is developing a filesystem driver, according to this URL<br />
http://uranus.it.swin.edu.au/~jn/linux/ext2ifs.htm [early release]</p>
<p>Method 2:</p>
<p>I WILL NOW INTRODUCE THE SECOND SOFTWARE WHICH I USE MYSELF AND THAT PROMPTED ME WRITE THIS POST !</p>
<p>Name: FS-DRIVER<br />
URL: <a href="http://www.fs-driver.org/">http://www.fs-driver.org/</a><br />
Author: Stephan Schreiber</p>
<p>This software, simply stated, is a amazing piece of code I have seen in a long time which bridges the gap between application-rich [,a relative measure,] Windows OS and the simple, stable and cool Linux OS that is creating IT waves everywhere; I am surfing this wave.  The earlier one is the GRUB boot loader which gave a fair share in an otherwise Windows only system.</p>
<p>So, what does this do ?  Well, it does what method 1 does and what doesn&#8217;t do as well.  It allows you to write to the linux filesystem.  I have tried it and no problems so far.  Next, it allows native applications on Windows to access the ext file systems.  For example, the scenario with MS Office and Openoffice described earlier works with this code.</p>
<p>All is well but you get these two questions.  Why do I need it in the first place and aren&#8217;t there any problems with it ?</p>
<p>First, yes you can share data with fat32 filesystem between windows and linux.  But, you can do it better; use a ext filesystem.  ext3 filesystem are directly recognised by Linux and this software makes it possible to use it under Windows.</p>
<p>Second, I see that there are some small teething problems which I faced while using this software.  Don&#8217;t know who is responsible though, Windows or fs-driver?  Ok, here is what I experience.  I need to plug-in the device and fire up fs-driver control panel and assign drive letters to them.  You can assign drive letters to HDD partitions or even usb flash drives.  Fine so far.  However, next time if you boot windows without these usb flash disks, windows explorer  shows [?] marks for these drive letters.  Not quite elegent.  I would expect either windows to clean-up or fs-driver to it.  However, this is not a show-stopper.  You can go back to the control panel and remove the entry manually.  Windows explorer cleans instantly.  The problem is, next time you plug in the device, you need to add in the entry manually.  Believe me, after some time, you will decide to leave the question marks alone !</p>
<p>That&#8217;s it for this post !</p>
<p>Some others in the same class [I haven't tried it though]:</p>
<p>http://ext2fsd.sourceforge.net/#ext2fsd</p>
<p>http://ashedel.chat.ru/ext2fsnt/</p>
]]></content:encoded>
			<wfw:commentRss>http://shruta.net/2006/01/win-ext3-driver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generate Assembly codes from C</title>
		<link>http://shruta.net/2005/10/generate-assembly-codes-from-c/</link>
		<comments>http://shruta.net/2005/10/generate-assembly-codes-from-c/#comments</comments>
		<pubDate>Sun, 16 Oct 2005 14:34:00 +0000</pubDate>
		<dc:creator>Kris Flyer</dc:creator>
				<category><![CDATA[Computer Science]]></category>

		<guid isPermaLink="false">http://shruta.net/?p=4</guid>
		<description><![CDATA[I was searching for a way to generate assemly codes from C codes for one of my projects.
I was looking for a tool which would create assembly codes from binary codes that were created using a compiler like gcc.
Looks like Life is much simpler.  I made the discovery that there is a switch to [...]]]></description>
			<content:encoded><![CDATA[<p>I was searching for a way to generate assemly codes from C codes for one of my projects.</p>
<p>I was looking for a tool which would create assembly codes from binary codes that were created using a compiler like gcc.</p>
<p>Looks like Life is much simpler.  I made the discovery that there is a switch to gcc which directly created assembly codes from C codes.</p>
<p>The switch is -S.<br />
syntax gcc -S program .c and you will get program.s in assembly</p>
<p>I tried the same with arm-linux-gcc, the cross-compiler for arm-architecture and it works there too!</p>
<p>Long live gcc</p>
]]></content:encoded>
			<wfw:commentRss>http://shruta.net/2005/10/generate-assembly-codes-from-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
