<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;C0YESHY9fip7ImA9WhRVEE0.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177</id><updated>2012-01-08T11:08:29.866+05:30</updated><category term="NTFS" /><category term="Windows XP" /><category term="Research" /><category term="Fujitsu-Siemens Amilo Si 3655" /><category term="Cricket" /><category term="IIIT-B" /><category term="Windows" /><category term="Security" /><category term="Assignments" /><category term="Oracle" /><category term="Interview" /><category term="Programming" /><category term="Government" /><category term="Adsense" /><category term="Browsers" /><category term="Hosting" /><category term="Dell" /><category term="Passwords" /><category term="GATE" /><category term="Sony Ericsson" /><category term="Antivirus" /><category term="Apache" /><category term="Android" /><category term="Facebook" /><category term="IM" /><category term="Airtel" /><category term="Mobile" /><category term="SMS" /><category term="Institutes" /><category term="MySQL" /><category term="Website" /><category term="Study" /><category term="CentOS" /><category term="M.Tech" /><category term="Opera" /><category term="XPERIA X10 Mini" /><category term="Fun" /><category term="Symbian" /><category term="Google" /><category term="UIQ" /><category term="PHP" /><category term="E-Mail" /><category term="IIT" /><category term="Innovations" /><category term="Bugs" /><category term="P1i" /><category term="Linux" /><category term="Proxy" /><category term="Lifestyle" /><category term="My Life" /><category term="Ubuntu" /><category term="Free" /><category term="Benchmarking" /><category term="Movies" /><category term="Palmistry" /><title>Tech Bite</title><subtitle type="html">Technology bites me, and I bite back!</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.techbite.in/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://www.techbite.in/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>93</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TheLifeOfATechAddict" /><feedburner:info uri="thelifeofatechaddict" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CEUERHk-fCp7ImA9WhRTFEs.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-5229880519208210026</id><published>2011-10-28T22:43:00.001+05:30</published><updated>2011-11-05T08:33:25.754+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-05T08:33:25.754+05:30</app:edited><title>Setup transparent net access over insti proxies</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
If you are a student at an institute that forces you to cross a damn proxy server for accessing internet, you must be fed up of entering your username and password time and again in browsers, as well as configuring each new application you install, to use the proxy. And if an application doesn't have any proxy configuration option, then you can't use that application! For example you can't install the Android Development plugin for eclipse.&amp;nbsp;This is very irritating. And, some campuses add to this torture further by using crappy NTLM authentication.&lt;br /&gt;
Here in IIT Madras exactly this condition prevails. But here I present a step by step walk through to get rid of this situation. Welcome to transparent proxying!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;What is transparent proxy?&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
A transparent proxy(correctly called intercepting proxy) intercepts your requests and forwards to the destination without letting your applications know that there is a proxy between you and internet. This is done with some intervention from &lt;i&gt;iptables &lt;/i&gt;in Linux. So what are the advantages? You need not configure each and every application with the proxy address, port, username and passwords. You can keep the setting "Direct connection to internet" in every application and every darn-so-ever app will work flawlessly!!!! Cool?? Eh?? Lets start.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Configure a transparent proxy on your notebook&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
I assume you are using a recent version of Ubuntu. Even older ones will do :) The steps should work for any Linux distro provided you use appropriate distro specific commands.&lt;br /&gt;
&lt;br /&gt;
Before installing software you should have a working internet connection. You may setup proxy in &lt;i&gt;/etc/apt/apt.conf &lt;/i&gt;for the time being to install required software for now. You need to put the proxy details in &lt;i&gt;apt.conf&lt;/i&gt; as follows for https, https and ftp:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Acquire::http::Proxy "http://&amp;lt;username&amp;gt;:&amp;lt;password&amp;gt;@&amp;lt;proxy-address&amp;gt;:&amp;lt;port&amp;gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
An example:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;Acquire::http::Proxy "http://cs11m039:bleeeep@proxy.iitm.ac.in:3128";&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Acquire::https::Proxy "https://cs11m039:bleeeep@proxy.iitm.ac.in:3128";&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;Acquire::ftp::Proxy "ftp://cs11m039:bleeeep@proxy.iitm.ac.in:3128";&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;
If you are not from computer science background then I should tell you that, to edit &lt;i&gt;/etc/apt/apt.conf &lt;/i&gt;you should open terminal then type &lt;i&gt;sudo gedit /etc/apt/apt.conf&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Step 1:&amp;nbsp;&lt;/u&gt;&lt;br /&gt;
If your campus doesn't require NTLM authentication then you can simply install and configure squid to setup transparent proxying. The details for that are beyond the scope of this post and I may cover that sometime later or you may search the net for other writers who might have posted the same.&lt;br /&gt;
IIT Madras campus network has NTLM. So I need to install &lt;i&gt;cntlm&lt;/i&gt;. It works as a proxy and performs NTLM authentication on your behalf so you don't need to enter username and password everytime ypu lauch the browser. Type the following command and press enter:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
sudo apt-get install cntlm&amp;nbsp;&lt;/blockquote&gt;
Now edit &lt;i&gt;/etc/cntlm.conf &lt;/i&gt;file and edit these lines to reflect your settings:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Username&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;cs11m039&lt;br /&gt;
Domain&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;iitm&lt;br /&gt;
Password&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; password&lt;/blockquote&gt;
If you have different proxies in institute and hostels then you can specify them all in these lines&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Proxy&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;10.93.0.38:3128&lt;br /&gt;
Proxy&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;10.93.0.34:3128&lt;/blockquote&gt;
Edit socks proxy details too&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
SOCKS5Proxy&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;3128&lt;br /&gt;
SOCKS5User&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;cs11m039:password&lt;/blockquote&gt;
&lt;br /&gt;
Leave all other settings as default. Instead of cs11m039, put your username and instead of password put your password. Instead of domain as iitm put your institutes NTLM domain. For SOCKS5Proxy put the port number of proxy.&lt;br /&gt;
&lt;br /&gt;
Now restart cntlm by typing:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
sudo service cntlm restart&lt;/blockquote&gt;
&lt;br /&gt;
Now open any browser and set the http proxy as 127.0.0.1 and port 3128. Try opening google.com. If it works, means you got cntlm installed perfectly. Proceed to next step. Else, double check your configuration. Make sure cntlm got installed. Also make sure if your computer is even turned on!!!!! If all else fails, write a comment here and I may reply if I feel like.(:P)&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Step 2:&lt;/u&gt;&lt;br /&gt;
Install tinyproxy.&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
sudo apt-get install tinyproxy&lt;/blockquote&gt;
&lt;br /&gt;
Open its configuration file&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
sudo gedit /etc/tinyproxy.conf&amp;nbsp;&lt;/blockquote&gt;
&lt;br /&gt;
Edit these lines:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
Port 8888&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
Upstream 127.0.0.1:3128&lt;/blockquote&gt;
Comment the line that says &lt;i&gt;Allow 127.0.0.1&lt;/i&gt;&amp;nbsp;by adding a leading # symbol before &lt;i&gt;Allow.&lt;/i&gt;&lt;br /&gt;
Don't touch any other line.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Step 3:&lt;/u&gt;&lt;br /&gt;
Open &lt;i&gt;/etc/default/tinyproxy&lt;/i&gt; and put this inside and close the file:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;case "$1" in&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; start)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to 8888&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; ;;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; stop)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; iptables -t nat -F OUTPUT&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; ;;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; restart)&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; start-stop-daemon --stop --quiet -t --exec $DAEMON &amp;gt; /dev/null || exit 0&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; iptables -t nat -F OUTPUT&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to 8888&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&amp;nbsp; &amp;nbsp; ;;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;esac&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now restart tinyproxy by typing &lt;i&gt;sudo service tinyproxy restart&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
Disable proxy settings in the browser and try opening a website. If you followed all the above steps correctly then the website should open. Also, you may now safely truncate the /etc/apt/apt.conf file and it will work. All your apps like installing software in Eclipse will work too without any problems.&lt;br /&gt;
&lt;br /&gt;
This is how your internet is working now:&lt;br /&gt;
&lt;br /&gt;
Your application requests for internet access which is received by Linux kernel and due to the &lt;i&gt;iptables&lt;/i&gt; rule setup above the request is redirected to port 8888 where tinyproxy is running. Tinyproxy intercepts the non-proxyified request and makes it http-proxy request compliant then forwards it to upstream proxy which is cntlm running on port 3128. Cntlm then performs NTLM authentication and contacts the insti proxy server to serve your request.&lt;br /&gt;
&lt;br /&gt;
User application&amp;lt;==&amp;gt;Kernel(iptables)&amp;lt;==&amp;gt;tinyproxy intercepting proxy&amp;lt;==&amp;gt;cntlm authentication proxy&amp;lt;==&amp;gt;insti squid proxy&amp;lt;==&amp;gt;The internet&lt;br /&gt;
&lt;br /&gt;
Happy browsing!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Update&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
On 3rd November, IIT Madras ditched the NTLM authentication and implemented rather insecure HTTP Basic authentication with OpenLDAP. Now you don't require cntlm if you want to setup transparent proxy.&lt;br /&gt;
&lt;br /&gt;
In step 1 above don't install cntlm. Just install polipo by:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
sudo apt-get install polipo&lt;/blockquote&gt;
&lt;br /&gt;
Then open its configuration file by:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
sudo gedit /etc/polipo/config&lt;/blockquote&gt;
&lt;br /&gt;
And set these values:&lt;br /&gt;
parentProxy = "hproxy.iitm.ac.in:3128"&lt;br /&gt;
parentAuthCredentials = "username:password"&lt;br /&gt;
&lt;br /&gt;
where username and password should be your username and your password for OpenLDAP.Also make sure to comment the lines that stand for SOCKS proxy.&lt;br /&gt;
Also set its listening port to 3128, so that tinyproxy doesn't need to be reconfigured. And don't forget to uninstall or disable cntlm(if it is installed) from startup because both polipo and cntlm will try to capture port 3128 for listening and you may face issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-5229880519208210026?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/yZuUlhAq1bw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/5229880519208210026/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=5229880519208210026" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/5229880519208210026?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/5229880519208210026?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/yZuUlhAq1bw/setup-transparent-net-access-over-insti.html" title="Setup transparent net access over insti proxies" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.techbite.in/2011/10/setup-transparent-net-access-over-insti.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQMRX09fip7ImA9WhdUFEo.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-5813184250647858173</id><published>2011-09-29T00:13:00.001+05:30</published><updated>2011-10-01T19:26:24.366+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-01T19:26:24.366+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="CentOS" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu" /><title>My experience with CentOS 6</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
And finally I decided to switch to 64 bit computing! Motivated by my Parallel Computer Architecture course(in which I'm underperforming) I decided to install CentOS 6 X86_64 version. IIT gives enough internet speed in the campus(if only you know how to tap into :P) that I ended up downloading the two bin-DVD ISOs as well as LiveCD and LiveDVD ISOs totalling around 8GB in less than 2 hours from &lt;a href="http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.0/isos/x86_64/"&gt;http://ftp.jaist.ac.jp/pub/Linux/CentOS/6.0/isos/x86_64/&lt;/a&gt;. Then I used the cool &lt;i&gt;dd&lt;/i&gt; command to replicate the LiveDVD ISO onto my pen drive.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;dd if=CentOS-6.0-x86_64-LiveDVD.iso of=/dev/sdb bs=1K&lt;/i&gt;&lt;/blockquote&gt;
&lt;br /&gt;
Don't forget to&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;umount /dev/sdb1&lt;/i&gt;&lt;/blockquote&gt;
before issuing the above command.&lt;br /&gt;
&lt;br /&gt;
So, after getting the bootable pen drive I restarted my notebook and pressed F12 to alter the boot order to select the pen drive instead of hard disk. The LiveDVD environment booted and I clicked on &lt;i&gt;autologin&lt;/i&gt; letting it boot to GNOME by default. The interface was pretty fast. In fact much faster than Ubuntu because there is not much of eye candy at your disposal in CentOS by default. One irritation I had, was that I couldn't click by tapping the touchpad. I had to press the touchpad's left button to make the clicks. After some fiddling I found out in &lt;i&gt;System&amp;gt;Preferences&amp;gt;Mouse&lt;/i&gt; in the &lt;i&gt;Touchpad&lt;/i&gt; tab the option to &lt;i&gt;Enable mouse clicks with touchpad. &lt;/i&gt;Then I enabled &lt;i&gt;Desktop Effects&lt;/i&gt; and tested the &lt;i&gt;Desktop on a cube&lt;/i&gt; of Compiz that pumps in zeal in linux fanboys and jeal in Windoze fans! Everything seemed to work perfectly, and I decided to go ahead and replace my Backtrack 5 installation with CentOS6. I launched the &lt;i&gt;Install to hard drive&lt;/i&gt; installer and chose &lt;i&gt;create a cutom layout &lt;/i&gt;in disk partitioning to specify my own partition to install and selected the Backtrack 5 partition and formatted it. After clicking the final install button, to my utter dismay the installer blurted something very nasty! &lt;i&gt;The installation media is corrupt and installer can't proceed! &lt;/i&gt;Damn!!!!!!!!!!&lt;br /&gt;
I rebooted to find that my Backtrack 5 partition was wiped out. I booted into Ubuntu and used &lt;i&gt;dd&lt;/i&gt; to replicate the &lt;i&gt;bin-DVD1.iso&lt;/i&gt; image into my USB pen drive. After a wait of around 15 minutes my bin-DVD1 installer was ready. I rebooted and chose USB boot after F12 but this time it said: &lt;i&gt;Operating system not found&lt;/i&gt;!!! Damn again!&lt;br /&gt;
After booting back to Ubuntu I replicated the LiveCD.iso into USB disk and re-booted into the LiveCD environment without any issues. I checked my system information and was proud to see 4GB of installed RAM! Both my 32-bit OSes viz. Windoze and Ubuntu 11.04 let me use only 3GB(approx.) RAM because of that damn memory mapping for I/O devices. Anyways I launched the installer and started following the wizard. During the bootloader setup screen I saw only Windoze was detected and named as Other. I added an entry for Ubuntu as well and edited the &lt;i&gt;Other&lt;/i&gt; to read &lt;i&gt;Windoze&lt;/i&gt;. I proceeded with the installer and after setting up all configs pressed the final install button. To my surprise, the install took less than 3 minutes!!!! Yes!! Thats right! &lt;br /&gt;
Then I rebooted and after a couple of formalities booted straight into lean and thin and clean upto the brim desktop environment of GNOME with very basic set of apps like GIMP, OpenOffice etc. Next thing I did was to install the multimedia codecs. I issued the following command&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;yum install gstreamer-plugins-base gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-ffmpeg&lt;/i&gt;&lt;/blockquote&gt;
For a user switching from Ubuntu it was nice to see that the package names are consistent across distros. Anyways I noticed that the gstreamer plugins from the base set and good set were already installed and yum started downloding the rest of them.&lt;br /&gt;
Then I installed vlc media player by&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;yum install vlc&lt;/i&gt;&lt;/blockquote&gt;
When I tried typing &lt;i&gt;gcc&lt;/i&gt; and &lt;i&gt;g++&lt;/i&gt; on the terminal I got command not found. Same happened for &lt;i&gt;java&lt;/i&gt; but &lt;i&gt;python&lt;/i&gt; was installed and worked. They don't provide everything in the CD due to space constraint. So I went ahead to install these myself. yum install g++ didn't work.&lt;br /&gt;
After some fiddling I noticed that I could hear sound when I plugged in the earphones but after plugging them out I couldn't hear any sound through speakers. Exactly same problem I faced in last october with Ubuntu and had posted at &lt;a href="http://www.techbite.in/2010/10/realtek-alc888-sound-issues-in-ubuntu.html"&gt;http://www.techbite.in/2010/10/realtek-alc888-sound-issues-in-ubuntu.html&lt;/a&gt; but I couldn't use the same solution for CentOS because there was no &lt;i&gt;/etc/modprobe.d/alsa-base.conf&lt;/i&gt; in CentOS. I tried the &lt;i&gt;locate&lt;/i&gt; command but in vain. If you know how to solve this issue please comment here.&lt;br /&gt;
Next I updated &lt;i&gt;/etc/fstab&lt;/i&gt; and entered the entries for auto mounting of my Windoze partitions and Ubuntu partition. But before that I had to installl &lt;i&gt;ntfs-3g&lt;/i&gt; because that would let my CentOS access NTFS partitions. &lt;br /&gt;
Anyways I went ahead with my installation streak and downloaded &lt;i&gt;flash plugin&lt;/i&gt; 11 rc from Adobe's site for 64 bit architecture and extracted it and copied the &lt;i&gt;libflahplayer.so&lt;/i&gt; to &lt;i&gt;~/.mozilla/plugins&lt;/i&gt; directory and my firefox started to show YouTube videos after a restart. My installation streak is still going on and the apps waiting in the queue for installation are:&lt;br /&gt;
&lt;blockquote&gt;
compiz&lt;br /&gt;
w3m&lt;br /&gt;
aria2c&lt;br /&gt;
chrome&lt;br /&gt;
opera&lt;br /&gt;
nmap&lt;br /&gt;
g++&lt;br /&gt;
lftp&lt;br /&gt;
openssh&lt;br /&gt;
ettercap&lt;br /&gt;
apache&lt;br /&gt;
php&lt;br /&gt;
mysql&lt;br /&gt;
audacious&lt;br /&gt;
skype&lt;br /&gt;
gnuplot&lt;br /&gt;
vidalia&lt;/blockquote&gt;
&lt;br /&gt;
After the installation of these I'll have a relaxed sleep because I have a 4 day holiday!! That will be enough for me to spend nice time with CentOS6.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;i&gt;Update&lt;/i&gt;(Sep29 9:30AM IST):&lt;/u&gt;&lt;br /&gt;
I added these two lines to /etc/modprobe.d/dist-alsa.conf to got the sound from speakers working after a restart.&lt;br /&gt;
&lt;blockquote&gt;
&lt;i&gt;alias snd-card-0 snd-hda-intel&lt;br /&gt;options snd-hda-intel model=auto&lt;/i&gt;&lt;/blockquote&gt;
Other issues I faced so far are&lt;br /&gt;
1. Upon trying to install &lt;i&gt;byobu-3.21-1.el6.noarch.rpm&lt;/i&gt; it says it needs python 2.6. But I already have python 2.6.5 installed&lt;br /&gt;
2. To run the ADT plugin for eclipse I require 32 bit libs support. Can't figure out how to do that. In Ubuntu 64 bit, one just have to install &lt;i&gt;ia32-libs&lt;/i&gt; using &lt;i&gt;apt-get&lt;/i&gt;. &lt;br /&gt;
3. Can't install &lt;i&gt;audacious&lt;/i&gt; through &lt;i&gt;yum&lt;/i&gt;. It says &lt;i&gt;audacious-plugins&lt;/i&gt; package not found.&lt;br /&gt;
4. Installed &lt;i&gt;compiz&lt;/i&gt; but can't find &lt;i&gt;ccsm&lt;/i&gt;&lt;br /&gt;
5. Can't find aria2 through yum. I guess I've to hunt for a manual download of rpm instead.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;i&gt;Update(Oct 1 07:30PM IST)&lt;/i&gt;&lt;/u&gt;&lt;br /&gt;
I downloaded JDK 7 from here &lt;a href="http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html"&gt;http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html&lt;/a&gt; and installed it. It worked perfectly. But after that I used &lt;i&gt;yum&lt;/i&gt; to install Eclipse IDE which in turn installed OpenJDK and made it the default java. I hate OpenJDK and want only Sun JAVA. I tried:&lt;br /&gt;
&lt;blockquote&gt;
update-alternatives --config java&lt;/blockquote&gt;
But Sun Java wasn't listed there. There were two javas listed there. One was Open JDK 1.6 and other was gcj 1.5. I played some hide n seek and found out that Sun Java was installed in &lt;i&gt;/usr/java/&lt;/i&gt; and there were three directories there named &lt;i&gt;jdk1.7.0, latest &lt;/i&gt;and &lt;i&gt;default&lt;/i&gt;. Then after some fiddling with the man page of &lt;i&gt;update-alternatives&lt;/i&gt; command I issued these three commands:&lt;br /&gt;
&lt;br /&gt;
update-alternatives --install "/usr/bin/java" "java" "/usr/java/default/bin/java" 3&lt;br /&gt;
update-alternatives --install "/usr/bin/javac" "javac" "/usr/java/default/bin/javac" 3&lt;br /&gt;
update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/java/default/bin/javaws" 3&lt;br /&gt;&lt;br /&gt;
And then running this:&lt;br /&gt;
&lt;blockquote&gt;
update-alternatives --config java &lt;/blockquote&gt;
showed me Sun Java as the third option. Then I set it as the default java and my problem was solved. &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-5813184250647858173?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/qtEJlMSMbx0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/5813184250647858173/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=5813184250647858173" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/5813184250647858173?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/5813184250647858173?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/qtEJlMSMbx0/my-experience-with-centos-6.html" title="My experience with CentOS 6" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.techbite.in/2011/09/my-experience-with-centos-6.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EHSH0_eCp7ImA9WhdTFEU.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-6507255297404579574</id><published>2011-05-21T19:26:00.001+05:30</published><updated>2011-07-12T20:10:39.340+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-07-12T20:10:39.340+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IIT" /><category scheme="http://www.blogger.com/atom/ns#" term="M.Tech" /><category scheme="http://www.blogger.com/atom/ns#" term="GATE" /><title>M.Tech CS - Admissions through GATE - Analysis 2011</title><content type="html">&lt;div&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;b&gt;&lt;u&gt;Intro&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
This blog post has content specific to those:&lt;br /&gt;
&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;&lt;li&gt;who belong to CS&lt;/li&gt;
&lt;li&gt;who are under 460 rank in GATE&lt;/li&gt;
&lt;li&gt;who are in General category&lt;/li&gt;
&lt;/ul&gt;If you don't belong to the category described above, still you may read on because you may find some interesting information in this post.&lt;br /&gt;
&lt;br /&gt;
GATE CS has become very competitive and the competition is increasing every year at an alarming rate. In GATE 2009 only 41000 candidates appeared in CS. The number increased to 107086 in 2010, mostly contributed by recession and lack of job opportunities in IT sector. In 2011 amazingly the number of candidates rose to 136291(last rank was 136027 but exact number of candidates who appeared in the exam was 136291) although recession had retreated and jobs were available in plenty. This shows the increasing interest of Indian youth towards masters degree.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;GATE - Who takes it? Why?&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Now lets know who are the people who opt to pursue M.Tech and why?&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Broadly, there are three kinds of people who want to pursue M.Tech from IITs. The first kind is like me, who want better placement opportunities in reputed companies like Microsoft, Google, Cisco, Directi, Intel, Facebook, Yahoo! , Adobe etc. which are unavailable to most students who haven't done B.Tech from NITs or some other better colleges other than IITs. It is considered that these companies not only give you a well paid and reputed job that doesn't insult your talent but also give a great life and corporate culture. After doing B.Tech from private engineering colleges most of the students are absorbed by TCS, Wipro, Infosys and a couple of other mass recruiters. Once you land in these companies and get under some nasty manager you will realize that a labour working hard carrying bricks in the sun has a better life than you. Sometimes in these companies, you'll feel that the people above you are no match for your talent and still they are making more money(being there for more time than you) than you and also load you with stuff to do in a day that would require at least a week! This high profile bureaucracy prevailing in these companies and the plight of newly entered Software Engineers can't be felt by those who have never been victims of this, and can't be expressed by those who are already facing this thanks to their lack of time. Also you are trained like dogs and put to any job profile according to their wish. The field you are put into may be the one you hated most during your B.Tech, for example Testing.&amp;nbsp;So, for these students M.Tech from IITs apparently, is the only saviour.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The second category of students is the one who want to pursue M.Tech then after making pretty sum of money and enjoying vibrant lifestyle, want to pursue Ph.D and then enter the academic field with cravings for being professors in top institutions.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;The third category consists of the people who are dedicated to research only. They want to do researches through out their life, put forward some remarkable new findings, get them popular enough to find place in some textbooks. So our next generations when don't understand their algorithms/formula/theorems abuse them saying who on earth on what unlucky day gave this freaking theorem I can't mug up to vomit in my exam!!!!&lt;/div&gt;&lt;/div&gt;&lt;div&gt;There is another narrow overlapping category consisting of people who missed IIT-JEE by a few marks, and now want to fulfill their dream of being an IITian, through the GATE way!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;u&gt;The top institutes analyzed&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div&gt;I would focus on the eight best institutes according to the candidate's choices. All the IITs are the best and saying that one is better than other would be like writing an algorithm to sort an array of equal elements!!!! All of them are the best. But here I would like to rank them according to the students' tastes. The taste of students is driven by the specializations they want to pursue and the no. of professors in that specialization in particular IIT, lifestyle at the institute, placements and a couple of other aspects like regional inclination for example most north Indian people prefer IIT Delhi over Madras and south Indians do the other way round.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;u&gt;&lt;b&gt;IISc&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;a href="http://www.iisc.ernet.in/"&gt;Indian Institute of Science, Bangalore&lt;/a&gt; is the undisputed champion when it comes to research. It ranks first in India in terms of research output. Getting into it is equally tough. There are two flagship programs for Computer Science graduates. The &lt;a href="http://www.csa.iisc.ernet.in/academics/academics-degrees-me.php"&gt;ME in Computer Science program&lt;/a&gt; is open only for direct admission. If you have an All India Rank of under 45 in GATE then you may expect a direct admission call in this program. Another program called &lt;a href="http://minchu.ee.iisc.ernet.in/new/info/messa.htm"&gt;ME in Systems Science and Automation&lt;/a&gt; requires you to pass their own written test and interview. The candidates are shortlisted based on GATE scores and called for written test and interview. I am not sure upto how much rank they call for this program.&lt;br /&gt;
The third program for CS graduates is &lt;a href="http://www.csa.iisc.ernet.in/academics/academics-degrees-mscengg.php"&gt;M.Sc Eng&lt;/a&gt;. For this program too you should have a good GATE score. But generally upto around 1000 rank people are called for written test and interview. IISc is highly mathematics inclined. If maths is not your cup of tea then it is almost impossible to get into SSA or M.Sc Eng. even though you have a very very high GATE score. The interviews and written are generally maths oriented.&lt;br /&gt;
Research wise IISc is the best. But placements in IISc are not considered to be as great as compared to top IITs like Bombay. Although no one remains unplaced after going through IISc for 2 years rigorously but there is a difference in pay packages offered by companies in IIT Bombay and IISc. So, if for you maximum pay package is a prime concern then its better to join IIT Bombay.&lt;br /&gt;
If you want to apply for IISc then do it early because last date for application submission is generally 2 or 3 days after declaration of GATE result(15 March) i.e. 17 or 18th March.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;IIT Bombay&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;
&lt;a href="http://www.iitb.ac.in/"&gt;IIT Bombay&lt;/a&gt;'s flagship program for CS graduates is M.Tech in Computer Science(TA). This program accepts only direct admits. In 2011 last GATE rank offered admission in 4th list in general category is 104. In 2010 it was above 125. GATE score cutoff is 868 for general category in 4th list in 2011. IIT Bombay is the most popular choice for toppers who get under 100 rank. Backed by highly paid placement offers, the vibrant lifestyle of Mumbai and a very large Computer Science faculty group, IIT-B houses top performers of GATE.&lt;br /&gt;
&lt;a href="http://indifun.in/prab/gate/iitb-2011-cs-admissions.pdf"&gt;Here&lt;/a&gt; is the admission summary of 2011.&lt;br /&gt;
So, if you are under hundred rank in GATE you can be sure to get admitted there.&lt;br /&gt;
There is also an RA program which is of 3 years where you are assigned on some project and you have to serve for 20 hours a week instead of 8 hours in TA. In return you get Rs.1000 extra as stipend.&lt;br /&gt;
The admission offer lists of IIT Bombay are declared first, among all IITs.&lt;br /&gt;
In IIT-B there are other interdisciplinary programs like Geoinformatics where you can get in even if you are not in top 100. There you may take CS branch electives and get placed in software development field. But I wont get into details for these workarounds to get inside IIT Bombay. I'll talk only about programs of excellence in top institutes. &lt;br /&gt;
IIT Bombay is best choice if you are just course and placement oriented and not much of research oriented.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;IIT Kanpur&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
IIT Kanpur is 2nd best choice for research oriented people. It is considered that, after IISc the name of IIT-K is taken for research.&lt;br /&gt;
IIT-K has 38 seats for general(as of 2011). They first declare a direct admit list. You can make into this list if you are under 70 rank in GATE. But generally around 5-6 highly motivated students take direct admission here. Rest join IIT-B. To fill the rest seats IIT-K conducts a written test and interview. They called upto 460 rank(in 2011) for written. The written comprised of aptitude questions which has very high percentage of application of probability distributions. If you are not good at probability distributions you may not get through the written test. 93 people( from all categories) were selected in written test. I was also one of them(luckily). Then you have to get through an interview. If you have high marks in written test then interview is pretty formal. But if you have lower marks then it is tougher and even if you answer their 50% questions and show good approach in trying to solve the problem you will get through the interview. I couldn't get through the interview. I had a very low score in written(just above the cutoff) because I am very bad at probability distributions. They asked me just 2 questions and they were sure that I am not worth IIT-K :P&lt;br /&gt;
I am also not that research oriented and so I knew IIT-K M.Tech isn't my cup of tea.&lt;br /&gt;
I met a senior and he advised me to join IIT-D or M instead of IIT-K if placements is my only aim. He also threw some light on doing M.Tech from IIT-K. According to him, it is quite tough in academics and building good CGPA is a very difficult task here. Also, if the professors are not satisfied with your thesis work, then your M.Tech may get extended for 6 months at a time. It is like a mini Ph.D.&lt;br /&gt;
So, join IIT-K if you are highly motivated towards research and dare to take on.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;IIT-D&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;
IIT Delhi is a great institute for placement oriented students. Being in the national capital surrounded by IT hubs of north India i.e. Noida and Gurgaon results in great placements. IIT Delhi has 4 programmes for CS students. MCS is the flagship programme which is M.Tech in Computer Science. JCA is an interdisciplinary programme run by maths department along with CS department which is Computer Applications. Computer Technology programme is another interdisciplinary course run by EE and CS departments. Placements are great in all these programmes. VDTT i.e. VLSI Design: Tools and Technology is also a great programme for people with inclination towards electronics. It has very high paying placement offers. Apart from this there is also MS but it has a very few seats.&lt;br /&gt;
The admission to all these courses is through an interview. There is no written test. You are shortlisted through GATE score and have to crack an interview to get into these. VDTT course also involves an interview with your sponsoring company which will pay all your fees and other expenses during your M.Tech and you may even get PPO(pre placement offer) if you perform well.&lt;br /&gt;
In 2011 cut off for MCS and MS have been GATE score 760. For other courses it was lesser. In JCA 750 was the cutoff for interview and 850 and 75% or 8.5 GPA would get you a direct admit in JCA. For VDTT the cut off for CS was 700. For EET too the criteria was similar to JCA. All courses have great placements but preference wise you should opt for MCS&amp;gt;JCA&amp;gt;EET. And if you want to do something in VLSI field then VDTT is a great option.&lt;br /&gt;
IIT Delhi has world class faculty for Algorithms. Prof. Naveen Garg is renowned in this field. Moreover Computer Networks, Computer Vision and Graphics are great here with very good professors. If you are interested in Databases then IIT Delhi is not for you because no good professors for databases are there.&lt;br /&gt;
Those who want to know about JCA may read this blog post written by an alumni of M.Tech CS at IIT Delhi who is currently working for Amazon:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://mtech-admission-iits.blogspot.com/2011/01/jca-computer-applications-at-iit-delhi.html%20"&gt;http://mtech-admission-iits.blogspot.com/2011/01/jca-computer-applications-at-iit-delhi.html &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;IIT Madras&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
IIT Madras offers only direct admissions based on GATE score. In first list upto 101 rank people were called. The cut off for 2nd list was rank 155 and in 3rd list it went above 175. IIT Madras has great placements being near Bangalore and Hyderabad. It is considered very good for Computer Architecture and High Performance Computing. Also Computer Networks, Cryptography, Network Security are considered good here. I got admission in IIT Madras. I'll post more about IIT Madras when I get there and get to know the institute more. There is also a second phase of registrations in IIT Madras if the seats are vacant after fourth offer. People upto rank 500 are advised to register for it and who haven't got any other IITs yet, may get spot admission offers.&lt;br /&gt;
IIT Madras has one of the finest campuses in India and it is run in collaboration with German government. Some students also get opportunities for DAAD fellowships. Many north Indian students don't opt for it because of confrontation with newer culture, language and food style. But, I don't think these things are problems. After all, we should experience different kinds of lifestyles during our life and adapt the good traits from wherever possible :-) Moreover, as far as I know IIT Madras has north Indian mess for people who are scared of food changes.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;IIT Kharagpur&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
Most students with top ranks don't like to opt for IIT Kharagpur citing that the quality of faculty is not as great as the top 4 IITs for M.Tech in CS. IIT-KGP is one of the best institutes in the country for B.Tech in various engineering streams. I don't have much details about it. The admission process is through interview. 70% weightage is given to GATE score and 30% to interview performance. Many people don't want to go to Kharagpur because it is a very small city and doesn't extend much after the IIT. So you can't enjoy the lifestyle of Delhi, Bombay, Chennai and Bangalore.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;IIT Roorkee &amp;amp; Guwahati&lt;/b&gt;&lt;/u&gt; &lt;br /&gt;
These two institutes are the new institutes. IIT-G was setup in 1995 and IIT Roorkee got the IIT status in 2001. Most of the top rankers don't want to join these. In Roorkee, Computer Networks is good. Admission is purely based on GATE score(as of 2011). In Guwahati the cut off for written test and interviews was 55 marks in GATE. The placements are good in both these institutes too but not at par with other IITs because of being in locations a bit far from metropolis.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Conclusion&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
I guess I posted information relevant for people in knowing the institutes and making choices. Please don't ask me what is the average, lowest and highest placement package in a particular institute. I only know one thing that you will reap what you sow. In IIT placements you will be rewarded based upon your caliber.&lt;br /&gt;
All the best!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-6507255297404579574?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/7D9xSVB6E0A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/6507255297404579574/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=6507255297404579574" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/6507255297404579574?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/6507255297404579574?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/7D9xSVB6E0A/mtech-cs-admissions-through-gate.html" title="M.Tech CS - Admissions through GATE - Analysis 2011" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.techbite.in/2011/05/mtech-cs-admissions-through-gate.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08BSHo8eyp7ImA9WhZXFEw.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-995442774940415789</id><published>2011-05-03T15:14:00.000+05:30</published><updated>2011-05-03T15:14:19.473+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-03T15:14:19.473+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Passwords" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="Browsers" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu" /><title>3 easy ways to bypass/get/break most common passwords!</title><content type="html">&lt;b&gt;Number 1&lt;/b&gt; - Windows Vista/7 login password&lt;br /&gt;
&lt;u&gt;Scenario&lt;/u&gt;&lt;br /&gt;
Ok, so you got hold of a computer(of a friend or enemy?) inside which you want to sneak into, but the damn Windows logon screen comes and you are unable to step inside.&lt;br /&gt;
&lt;u&gt;Idea&lt;/u&gt;&lt;br /&gt;
Boot the computer using a Linux(read Ubuntu) pen drive. Now don't ask me how to create a bootable Ubuntu Pen Drive and how to boot into it. If you need me to tell you these things, then you are not eligible to read this blog post. Ok, so lets move on. Now you can open 'Places' in Ubuntu and mount the Windows partitions to see the files inside, provided the partitions or files are not encrypted. But who turns on encryption for their all files? I haven't seen anyone around. &lt;br /&gt;
But you don't want to stop yourself here and want to start Windows without knowing the password. There is a clever trick. But this will change the password of the owner of that computer. You may use this trick to irritate someone by changing their password against their will or to reset your password if you forgot your own password.&lt;br /&gt;
The trick works using the same Ubuntu bootable pen drive. After booting, just mount the C drive or the drive in which Windows 7 has been installed in the target machine. There navigate to Windows\System32 directory. There rename the file sethc.exe to sethc.exe.bak and rename the file cmd.exe to sethc.exe. You should also make a copy of cmd.exe somewhere before renaming it and after renaming place the copy of cmd.exe back in System32 folder. So, now the situation is that your original sethc.exe is named sethc.exe.bak. cmd.exe is named sethc.exe and a copy of cmd.exe is there in the System32 directory with the name cmd.exe.&lt;br /&gt;
Now reboot the computer and wait for Windows logon screen. Once the login screen comes, press the Shift key on the keyboard 5 times. A command prompt window will open. Now type there the following ommand and press enter: &lt;b&gt;net user &lt;i&gt;username new-password&lt;/i&gt;&lt;/b&gt;. Make sure to replace &lt;i&gt;username&lt;/i&gt; with the computer owner's username and &lt;i&gt;new-password&lt;/i&gt; with the new password you want to set. Voila!! ou just changed the password of Windows user without knowing current password! &lt;br /&gt;
How this works? The file sethc.exe is the program that executes when you press shift key 5 times. This is the sticky keys enabling program for differently abled people. So what we did is that we replaced this program with cmd.exe but kept the name sethc.exe. Now at login screen, on pressing Shift key 5 times cmd.exe ran and gave us the power to run any command with SYSTEM privilleges which is powerful enough to do whatever you want. Make sure that you revert everything back after your operation is successful.&lt;br /&gt;
Moral: You can't stop anyone from accessing your files or changing your password in Windows if you don't encrypt whole of your hard disk!!! Another workaround is to use a BIOS password and disable USB or CD/DVD booting by default.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Number 2&lt;/b&gt; - Get all the saved passwords of websites from browsers &lt;br /&gt;
&lt;u&gt;The trick&lt;/u&gt;&lt;br /&gt;
This trick exploits the eagerness of browser developers to make their browsers idiot-friendly. I am taking the case of Firefox. The trick works on Chrome and Opera as well. Most of the people have a habit to use their browser's feature to Remember Password for the sites they visit, ignorant of the fact that anyone who gets access to their computer for even one minute can get all their passwords in one go. For such a user just open their browser, say Firefox. Open the Settings dialog by Edit&gt;Preferences in Linux and Tools&gt;Options in Linux. Now go to Security tab. There click the 'Saved Passwords' button. OMG OMG OMG!!! All the passwords saved are visible in plain text form!!! The same trick works in Chrome too. Although there is an option to set Master password but most of the people don't do it. Ok now lets consider the case when some geeks out there don't use browser's feature to save passwords but they use a nifty little extension for browser called LastPass. It is available for Chrome, Opera and Firefox. Probably for IE too. How secure is that? Not at all. Just open any site, for example Facebook.com. If Facebook Home appears then log out. You will reach the login screen. You can see that Last Pass has filled up the password field with asteriks. Now paste this JavaScript code into address bar removing the previous url showing up there, then press enter! &lt;br /&gt;
&lt;blockquote&gt;javascript:var oOut,frameSearch=function (oFrame) {if(!oFrame){oFrame=window;}for(var oPass='',i=0,j=oFrame.document.forms;j[i];i++){for(var x=0,y;y=j[i].elements[x];x++){if(y.type=='password'&amp;&amp;y.value){oPass+='\n'+y.value;}}}for(var i=0;oFrame.frames[i];i++){try{oPass+=frameSearch(oFrame.frames[i]);}catch(e){}}return oPass;};void(oOut=frameSearch());if(oOut){alert('The following passwords were found:\n'+oOut);}else{alert('There are no passwords in forms on this page.');} &lt;/blockquote&gt;As soon as you press enter you will see the password in plain text! Isn't that a serious security concern???&lt;br /&gt;
Moral: The password is secure only if it is saved in your brain. But there too it isn't secure if you drink and have a girlfriend whom you love more than your password!!!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Case Number 3&lt;/b&gt; - Change someone's Linux password!&lt;br /&gt;
This one is for those who think Linux is unbreakable. If you have a strong hammer, you can break anything!&lt;br /&gt;
What you have to do is to boot the target Linux system using a pen drive containing another Live linux distro. I recommend &lt;a href="http://www.backtrack-linux.org/"&gt;BackTrack4R2&lt;/a&gt;. Once you boot, just mount the partition containing target Linux. Open a terminal in backtrack and type passwd and press enter. Type the new password whatever you want. Now in backtrack navigate to /etc directory and open the shadow file. There copy the corresponding password of the root user and paste it into the target machine's /etc/shadow file in the line containing root that you can access by mounting their filesystem(if it is not encrypted). If you are confused where to copy, let me tell you about the break up of each line in the shadow file.&lt;br /&gt;
Each line consists of some fields which are separated by : i.e. colon symbol. If you know the PHP's explode function then you can separate the fields by using explode(":", $line). The first field is username. Second field is password. We don't need to know the rest. The password field seems to be too complex. But it too has fields contained in it!!! The fields are separated by $ symbol. The first field indicates the hashing algorithm. Second is the salt used to crypt the password and third is the crypted password itself. salts are used to shoo away brute forcers. To know more about salts you may search the internet. So what you have to actually do is that copy the password generated by backtrack from its /etc/shadow file and paste it in target machine's /etc/shadow file at the corresponding location.&lt;br /&gt;
Now reboot the computer and in the login screen of victim linux enter the newly created password. Voila! You are in!!!!!!&lt;br /&gt;
Moral: If you want to be safe from hackers cracking down your passwords and stealing your data then don't use a computer. Migrate to Himalayas and do some &lt;i&gt;tapasya&lt;/i&gt; there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-995442774940415789?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/ZKp2nWVgHto" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/995442774940415789/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=995442774940415789" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/995442774940415789?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/995442774940415789?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/ZKp2nWVgHto/3-easy-ways-to-bypassgetbreak-most.html" title="3 easy ways to bypass/get/break most common passwords!" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.techbite.in/2011/05/3-easy-ways-to-bypassgetbreak-most.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkMHQHY4eCp7ImA9Wx9aGU8.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-2155407662685398438</id><published>2011-02-14T11:32:00.013+05:30</published><updated>2011-03-12T16:43:51.830+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-03-12T16:43:51.830+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GATE" /><title>GATE 2011 CS Solutions</title><content type="html">Last year I had released the &lt;a href="http://www.techbite.in/2010/02/gate-2010-cs-solutions.html"&gt;solutions for GATE2010&lt;/a&gt; with explanation. This time I am releasing the same for GATE2011.&lt;br /&gt;
Disclaimer: I don't guarantee that my solutions are hundred percent correct, because I am also a student like you and far from perfection. If you think that any explanation given for a particular problem is wrong, then comment with your own version of explanation. If found correct, I'll edit mine and put yours.&lt;br /&gt;
&lt;br /&gt;
My answer booklet was D. So to find which question numbers given here map to which ones in yours, you may download my question paper booklet's scanned copy from here:&lt;br /&gt;
&lt;a href="http://profile.iiita.ac.in/ISE2010012/files/GATE2011"&gt;http://profile.iiita.ac.in/ISE2010012/files/GATE2011&lt;/a&gt;&lt;br /&gt;
Download all the JPEG images from there numbered 1 to 16.&lt;br /&gt;
&lt;br /&gt;
Now lets start:&lt;br /&gt;
&lt;br /&gt;
1. C&lt;br /&gt;
Because regular languages are closed under Complementation. Sigma star minus P means the complement of P, which is a regular language.&lt;br /&gt;
2. A&lt;br /&gt;
I am still confused about this. I won't say anything. You can find it in Cormen's algorithm book. There is a topic on Longest Common Subsequence.&lt;br /&gt;
3. B&lt;br /&gt;
Although A and B both look like heap but read page 127 in Cormen. A heap is almost a complete binary tree which is filled on all levels. In A, the 2nd level is not filled completely i.e. 8 should have a right child.&lt;br /&gt;
4. C&lt;br /&gt;
Lets consider base memory address of array C is 1000. So, p+p[3]-p[1] means p+(E-A) = p+4 which is on 2. So %s will print everything from 2 to the nearest null terminator i.e. '\0' hence 2011 will be printed.&lt;br /&gt;
5. D&lt;br /&gt;
Page 277, point 7 in Arnold S. Berger's book of Hardware and Computer Organization&lt;br /&gt;
6. B&lt;br /&gt;
In 10^6 memory accessed time required = 20ns*10^6 + 10ms = 30ms&lt;br /&gt;
So in 1 memory access (30*(10)^-6)ns which is 30ns.&lt;br /&gt;
7. A&lt;br /&gt;
Lexical analysis is done with regular expressions. So FSA is the answer.&lt;br /&gt;
8. C&lt;br /&gt;
See here &lt;a href="http://en.wikipedia.org/wiki/Variance"&gt;http://en.wikipedia.org/wiki/Variance&lt;/a&gt;&lt;br /&gt;
Standard deviation is SQRT(Variance). Variance is always greater than equal to zero.&lt;br /&gt;
9. B&lt;br /&gt;
Both are planar because both can be drawn without any edges intersecting any other. See the diagram:&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-4ttN5IkPHUI/TVi-F_44h0I/AAAAAAAAAms/9Jz7TO6kutg/s1600/DSC00197.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="157" width="400" src="http://2.bp.blogspot.com/-4ttN5IkPHUI/TVi-F_44h0I/AAAAAAAAAms/9Jz7TO6kutg/s400/DSC00197.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
10. C&lt;br /&gt;
See the figure on page 128 in Galvin's latest edition.&lt;br /&gt;
&lt;br /&gt;
Most people are saying A or B which is wrong.&lt;br /&gt;
See this: http://www.cse.iitd.ernet.in/~soumyadeb/projects/mtp/report/node56.html&lt;br /&gt;
and this: http://lasr.cs.ucla.edu/awang/cs111/lecture_2_concurrency.doc&lt;br /&gt;
&lt;br /&gt;
I had marked D :P&lt;br /&gt;
11. A&lt;br /&gt;
ceil(log258 on base 2) i.e. 9&lt;br /&gt;
12. B&lt;br /&gt;
Solve it directly:&lt;br /&gt;
(P+Q'+R')(P+Q'+R)(P+Q+R')&lt;br /&gt;
=(P.P+P.Q'+PR+PQ'+Q'+Q'R+PR'+Q'R'+R'R)(P+Q+R')&lt;br /&gt;
=(P+P(1+Q'+R+Q'+R')+Q'(1+R+R'+0))(P+Q+R')&lt;br /&gt;
=(P+Q')(P+Q+R')&lt;br /&gt;
=P+PQ+PR'+PQ'+Q'Q+Q'R'&lt;br /&gt;
=P(1+Q+R'+Q')+0+Q'R'&lt;br /&gt;
=P+Q'R'&lt;br /&gt;
13. A&lt;br /&gt;
because two account numbers of different banks may be same&lt;br /&gt;
D is wrong because if S is a superkey then S union anything will be a superkey&lt;br /&gt;
14. D&lt;br /&gt;
Put X and Y as inputs and get the equation. For A, B and C it is X'Y'+XY which is the formula of EX-NOR gate.&lt;br /&gt;
15. D&lt;br /&gt;
Interrupt from CPU temperature sensor is non-maskable. All the others are maskable. And, non-maskable interrupts have higher priority than maskable ones.&lt;br /&gt;
16. D&lt;br /&gt;
SRS MUST not have any kind of algorithms of HOW to implement. It contains details about WHAT to implement.&lt;br /&gt;
17. D&lt;br /&gt;
To display client time you need to do JavaScript. Pure HTML can't do. Page refreshing can be done by &amp;lt;meta http-equiv=refresh.............. For embedding there is a dedicated tag &amp;lt;embed&amp;gt; in html. For reloading, &amp;lt;meta&amp;gt; tag can be used.&lt;br /&gt;
18. B&lt;br /&gt;
Its a fact, and I don't need to put any explanaton for it :P&lt;br /&gt;
19. I didn't mark it. Didn't know the formula.&lt;br /&gt;
20. C&lt;br /&gt;
For switching to Kernel mode only the mode bit needs to be toggled. For switching process, context-switch is needed which involves lot of work. So t1&amp;lt;t2 &lt;br /&gt;
21. I didn't touch this question&lt;br /&gt;
22. C&lt;br /&gt;
To send a mail from a mail client to mail server you need SMTP.&lt;br /&gt;
To check and download mail from a mail server you need POP or IMAP&lt;br /&gt;
To use your web browser for mail checking HTTP protocol is required&lt;br /&gt;
23. A&lt;br /&gt;
1/3 is pretty easy. But I marked 2/3 because my probability is too weak and I did some wrong calculation.&lt;br /&gt;
24. A&lt;br /&gt;
A Layer 4 firewall can't block HTTP traffic because it can inspect packets upto transport layer only. HTTP isn't in the jurisdiction of layer 4 firewall. For blocking HTTP traffic, deep packet inspection firewalls are required. &lt;br /&gt;
25. C&lt;br /&gt;
Keywords are recognized during lexical analysis which is done using regular expressions and DFAs/NFAs&lt;br /&gt;
26. C&lt;br /&gt;
I marked A but that will be true if in 2nd column 1st and 3rd rows are not both Sunderajan.&lt;br /&gt;
27. A&lt;br /&gt;
Case (i) – When co-efficient is zero – T1, T2&lt;br /&gt;
Case (ii) – When D is positive – T2, T5&lt;br /&gt;
Case (iii) – When D is zero – T1, T3, T4&lt;br /&gt;
Case (iv) – When D is negative – T6&lt;br /&gt;
Option A is the correct non-redundant set.&lt;br /&gt;
28. A&lt;br /&gt;
Derive regular expressions and match&lt;br /&gt;
29. B&lt;br /&gt;
6000rpm=100rps&lt;br /&gt;
1 rotation in 1/100 seconds i.e. 10ms&lt;br /&gt;
so half a rotation in 5ms which is the average seek time&lt;br /&gt;
Now total time required for 100 libraries=100*(10+5)=1500ms=1.50ms&lt;br /&gt;
30. D&lt;br /&gt;
32 byte cache block size=2^5 i.e. 5 bits for block offset&lt;br /&gt;
No. of blocks in cache=8KB/32byte=(2^3*2^10)/2^5=2^88 i.e. 8 bits for index&lt;br /&gt;
Tag information=tag for memory+1 valid+1 modified=(32-8-5)+1+1=21&lt;br /&gt;
For 256 blocks, 256*21=5376 bits of tag info will be maintained.&lt;br /&gt;
Some people said 256*19 because valid and modified bit are part of tag in the question. Read the question carefully. They are part of tag information maintained by cache controller. They are not the part of tag itself. If you use only 17 bits for tag then this architecture will be faulty and you won't be able to correctly identify memory block.&lt;br /&gt;
See here:&lt;br /&gt;
&lt;a href="http://hpc.serc.iisc.ernet.in/~govind/hpc/L14-Cache.txt"&gt;http://hpc.serc.iisc.ernet.in/~govind/hpc/L14-Cache.txt&lt;/a&gt; &lt;br /&gt;
Scroll down to the part where it is clearly mentioned:&lt;br /&gt;
&lt;blockquote&gt;Thus along with the data in the cache for every cache block, &lt;br /&gt;
it is required to store the tag filed (to identify the memory &lt;br /&gt;
block),  valid field (to indicate if the data in the cache &lt;br /&gt;
block and tag fields are valid or not), and possibly a &lt;br /&gt;
dirty bit (to indicate if the cache block has been modified&lt;br /&gt;
or not).   Thus for each cache block, we have a dirty bit , &lt;br /&gt;
valid bit and tag &lt;/blockquote&gt;31. I didn't touch&lt;br /&gt;
32. B&lt;br /&gt;
I marked D which is wrong.&lt;br /&gt;
Correct way to solve is:&lt;br /&gt;
Let us consider number of instructions is 1000&lt;br /&gt;
Speedup=(1000*30)/(1000-1+4)*(11+1)&lt;br /&gt;
i.e. N*T/(N-1+S)*(L+D)&lt;br /&gt;
where N is number of instructions&lt;br /&gt;
T is total time of all stages in non-pipelined&lt;br /&gt;
S is no. of stages in pipeline&lt;br /&gt;
L is time taken by longest stage in pipeline&lt;br /&gt;
D is mean delay between stages&lt;br /&gt;
33. A&lt;br /&gt;
In case of lower triangular matrix the diagonal elements are the eigen values.&lt;br /&gt;
34. C&lt;br /&gt;
See here in page 14&lt;br /&gt;
&lt;a href=http://myweb.lmu.edu/dondi/share/db/indexing-and-hashing.pdf&gt;myweb.lmu.edu/dondi/share/db/indexing-and-hashing.pdf&lt;/a&gt;&lt;br /&gt;
35. C&lt;br /&gt;
Here you may read how to do it with pen and paper:&lt;br /&gt;
http://en.wikipedia.org/wiki/Matrix_chain_multiplication&lt;br /&gt;
(M1*(M2*M3)*M4) gives 100*20*5+10*100*5+10*5*80=10000+5000+4000=19000&lt;br /&gt;
36. A&lt;br /&gt;
n^(3/2) and nlogn are directly out of the competition. The real competition is between 2^n and n^logn. See the graph below that I plotted with &lt;a href="http://www.gnuplot.info/"&gt;GNUPLOT&lt;/a&gt; to see yourself which one wins.&lt;br /&gt;
Put n=2^k&lt;br /&gt;
Now n^logn=(2^k)^k=2^(k*k)=2^(k^2)&lt;br /&gt;
And 2^n=2^(2^k)&lt;br /&gt;
In the first one it will be 2 to the power k*k, not 2 to the power k to the power k&lt;br /&gt;
In the second one it will be 2 to the power(2 to the power k)&lt;br /&gt;
Find me any value of n greater than 16 for which 2^n is lesser than n to the power logn.&lt;br /&gt;
I bet you can't find.&lt;br /&gt;
See this:&lt;br /&gt;
At n=20&lt;br /&gt;
2^n=1048576 and n^logn=417301 approx&lt;br /&gt;
At n=32&lt;br /&gt;
2^n =2^32 and 32^log32=32^5=2^25&lt;br /&gt;
At n=256&lt;br /&gt;
2^n=2^256 and 256^log256=256^8=2^64&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-XmaegQOkF_A/TVo5Te1CqxI/AAAAAAAAAns/9-0UNi6lRTE/s1600/plot.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="240" width="400" src="http://4.bp.blogspot.com/-XmaegQOkF_A/TVo5Te1CqxI/AAAAAAAAAns/9-0UNi6lRTE/s400/plot.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
37. A&lt;br /&gt;
a-b can be done with one register.&lt;br /&gt;
Take a in accumulator. Subtract b from it and keep the result in accumulator itself. So you just need on accumulator, no other register.&lt;br /&gt;
Next, take c in an accumulator and add d to it and store it in the accumulator. Now subtract the contents of accumulator from e and store in the accumulator itself. &lt;br /&gt;
Now add the contents of both the accumulators and store it in any one of them.&lt;br /&gt;
So we need just two accumulators for the whole operation. So, 2 registers is the correct answer.&lt;br /&gt;
38. A&lt;br /&gt;
Make a gantt chart and you will have 0+(5-1) for P0, 0 for P1 and (13-2) for P2 i.e. 15ms. Average waiting time will be 15/3=5ms&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-89FYT7f6STg/TVjAV7EFwOI/AAAAAAAAAm8/hESr1t9BT7E/s1600/DSC00198.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="150" width="400" src="http://3.bp.blogspot.com/-89FYT7f6STg/TVjAV7EFwOI/AAAAAAAAAm8/hESr1t9BT7E/s400/DSC00198.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
39 and 40. I didn't touch this as probability and statistics is not my cup of tea&lt;br /&gt;
41.  A &lt;br /&gt;
Here is the pattern:&lt;br /&gt;
X Y&lt;br /&gt;
_ _&lt;br /&gt;
1 1&lt;br /&gt;
2 3&lt;br /&gt;
3 7&lt;br /&gt;
4 15&lt;br /&gt;
5 31&lt;br /&gt;
6 63&lt;br /&gt;
7 127&lt;br /&gt;
&lt;br /&gt;
42. I didn't solve&lt;br /&gt;
43. A&lt;br /&gt;
Just apply some logic and you will get the answer&lt;br /&gt;
A(x)=x is not 1&lt;br /&gt;
B(x)=for all y ((there exists z such that x=y*z )implies(either y=x or y=1))&lt;br /&gt;
&lt;br /&gt;
A(x) and B(x) give x as prime&lt;br /&gt;
44. D&lt;br /&gt;
I marked B but it is D.&lt;br /&gt;
45. A&lt;br /&gt;
In non-DMA total time=1+1+500(2+2+1+1+1)=3502&lt;br /&gt;
In DMA total time=20+(500*2)=1020&lt;br /&gt;
Speedup=3502/1020=3.43~3.4&lt;br /&gt;
46. C&lt;br /&gt;
Clearly L3 is not context free&lt;br /&gt;
47. B&lt;br /&gt;
Consider up arrow as * and down arrow as +&lt;br /&gt;
So according to the associativity mentioned, the equation will be (7+(3*(4*3))+2). &lt;br /&gt;
Clearly the answer is B&lt;br /&gt;
48 &amp; 49 will be B &amp; D respectively&lt;br /&gt;
See my solution below&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-OHXcq2MeHjQ/TVjntEwFKHI/AAAAAAAAAnc/zYQJfHgznZI/s1600/DSC00199.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="400" width="260" src="http://4.bp.blogspot.com/-OHXcq2MeHjQ/TVjntEwFKHI/AAAAAAAAAnc/zYQJfHgznZI/s400/DSC00199.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-2Ma2GqsfcJI/TVjCH1iN9_I/AAAAAAAAAnE/IefDaHHW7Fw/s1600/DSC00200.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="300" width="400" src="http://3.bp.blogspot.com/-2Ma2GqsfcJI/TVjCH1iN9_I/AAAAAAAAAnE/IefDaHHW7Fw/s400/DSC00200.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
50. D&lt;br /&gt;
Follow the recursion and you will get 1+0+0+0+0+1&lt;br /&gt;
51. B&lt;br /&gt;
Follow the recursion and you will get 5+4+3&lt;br /&gt;
52. B&lt;br /&gt;
Draw a 5 node graph according to the specs given. Find MST by Kruskal's algo. Only B satisfies the MST.&lt;br /&gt;
See the below image&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-p3wFYHZwd3s/TVjDxvs3ldI/AAAAAAAAAnM/eVDvTQHq2ck/s1600/DSC00202.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="400" width="360" src="http://4.bp.blogspot.com/-p3wFYHZwd3s/TVjDxvs3ldI/AAAAAAAAAnM/eVDvTQHq2ck/s400/DSC00202.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
53. C&lt;br /&gt;
Draw a 10 node graph according to the specs. Find MST. Find the distance between v5 to v6. It is 31. See the below diagram&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-Bl5wyLV0nqo/TVjE6a9jzGI/AAAAAAAAAnU/w2YWfzQZkyE/s1600/DSC00203.jpg" imageanchor="1" style=""&gt;&lt;img border="0" height="245" width="400" src="http://3.bp.blogspot.com/-Bl5wyLV0nqo/TVjE6a9jzGI/AAAAAAAAAnU/w2YWfzQZkyE/s400/DSC00203.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
54. I marked D and it is wrong&lt;br /&gt;
55. C&lt;br /&gt;
It is intuitively 10 &lt;br /&gt;
&lt;br /&gt;
Aptitude answers are &lt;br /&gt;
57. D&lt;br /&gt;
58. A&lt;br /&gt;
59. B&lt;br /&gt;
60. C&lt;br /&gt;
61. C&lt;br /&gt;
62. D&lt;br /&gt;
63. C&lt;br /&gt;
64. D&lt;br /&gt;
65. A&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-2155407662685398438?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/Bk1AbHrHe4E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/2155407662685398438/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=2155407662685398438" title="30 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/2155407662685398438?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/2155407662685398438?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/Bk1AbHrHe4E/gate-2011-cs-solutions.html" title="GATE 2011 CS Solutions" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-4ttN5IkPHUI/TVi-F_44h0I/AAAAAAAAAms/9Jz7TO6kutg/s72-c/DSC00197.jpg" height="72" width="72" /><thr:total>30</thr:total><feedburner:origLink>http://www.techbite.in/2011/02/gate-2011-cs-solutions.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0MNRX46fip7ImA9Wx9VEk4.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-6476808164649913332</id><published>2011-01-28T22:54:00.000+05:30</published><updated>2011-01-28T22:54:54.016+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-28T22:54:54.016+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Dell" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu" /><title>How to run WiFi on Dell Inspiron N5010 in Ubuntu</title><content type="html">Dell Inspiron N5010 is a wonderful notebook. But there are some irritating issues in it. The one I hate the most is that you need to press the Fn key before using F1-F12 keys. It kinda sucks!!! Any ways, the other frustration in it is that if you install Ubuntu in it(I tested 10.10 Maverick) the WiFi doesn't work. The lspci command shows the presence of Broadcom Wireless Ethernet card but it doesn't work out of the box. While fiddling with a friend's N5010 today, I found how to make it work. It is a very simple process, but it took me a lot of internet research to make it work. So, I'm posting it for whoever is going to do that research, to save his/her precious time.&lt;br /&gt;
&lt;br /&gt;
Step 1. Reload the package information in Synaptic. To do this, just go to System&gt;Administration&gt;Synaptic Package Manager and click the Reload button.&lt;br /&gt;
&lt;br /&gt;
Step 2. Download and install the firmware corresponding to the WiFi card present in your N5010. You can download it from:&lt;br /&gt;
http://ftp.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-brcm80211_0.28_all.deb&lt;br /&gt;
or&lt;br /&gt;
http://http.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-brcm80211_0.28_all.deb&lt;br /&gt;
To install it, just double click the .deb file you downloaded and click Install. When asked for password, enter your password and press enter. Wait till the installation is complete. After the installation, restart your system.&lt;br /&gt;
&lt;br /&gt;
Step 3. When the system restarts go to System &gt; Administration &gt; Additional Drivers(or Hardware Drivers in previous version of Ubuntu). There, click the Activate button at the bottom of the dialog. You must be connected to he internet prior to this. Once you click activate, Ubuntu will download and install the appropriate driver for you on its own. And once the driver is installed successfully, you can use WiFi. In the notification area when you click the corresponding icon for Network you will be able to see the Wireless networks if you are in the range of one.&lt;br /&gt;
Happy Linuxing!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-6476808164649913332?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/tpTPjxLaiLQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/6476808164649913332/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=6476808164649913332" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/6476808164649913332?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/6476808164649913332?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/tpTPjxLaiLQ/how-to-run-wifi-on-dell-inspiron-n5010.html" title="How to run WiFi on Dell Inspiron N5010 in Ubuntu" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.techbite.in/2011/01/how-to-run-wifi-on-dell-inspiron-n5010.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YBRH4yeCp7ImA9Wx9QEUo.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-4041140385049514284</id><published>2010-12-24T11:42:00.000+05:30</published><updated>2010-12-24T11:42:35.090+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-24T11:42:35.090+05:30</app:edited><title>New domain</title><content type="html">Life of a tech addict is now TechBite! Please update your bookmarks.&lt;br /&gt;
&lt;br /&gt;
The address of Facebook page is now&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.facebook.com/pages/TechBite/167386736616047"&gt;http://www.facebook.com/pages/TechBite/167386736616047&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
A new venture has been started by me&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://techbeat.in"&gt;http://techbeat.in&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://techbeat.in"&gt;TechBeat&lt;/a&gt;&lt;br /&gt;
The Facebook page for TechBeat is&lt;br /&gt;
&lt;a href="http://www.facebook.com/pages/TechBeat/151453284907451"&gt;http://www.facebook.com/pages/TechBeat/151453284907451&lt;/a&gt;&lt;br /&gt;
Like it to have the latest technology news coming in the news feed of your facebook profile.&lt;br /&gt;
On twitter&lt;br /&gt;
&lt;a href="http://twitter.com/techbeatindia"&gt;http://twitter.com/techbeatindia&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The site will have the most important tech news of the day, delivered to you directly aggregated at one cool place. It is like a technology news magazine with short news stories.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-4041140385049514284?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/n2uowQjbRqw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/4041140385049514284/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=4041140385049514284" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/4041140385049514284?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/4041140385049514284?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/n2uowQjbRqw/new-domain.html" title="New domain" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.techbite.in/2010/12/new-domain.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUFSXgzcCp7ImA9Wx9REUs.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-7858557045384926774</id><published>2010-12-12T20:50:00.000+05:30</published><updated>2010-12-12T20:50:18.688+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-12-12T20:50:18.688+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Free" /><category scheme="http://www.blogger.com/atom/ns#" term="Airtel" /><title>An airtel trick</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;I have an Airtel UP East sim and today I accidently discovered a cool feature. Using this trick you can keep your phone turned on and whoever calls your number will be intimated that your number is switched off. And you will even get an SMS with the number of caller so you will get to know who is calling you. This feature can come handy sometimes when you want to use your phone for outgoing or internet browsing without letting anyone disturb you. Also in situations when you have a fight with your significant other and you want to see them trying to call you madly, without turning your phone off. The trick is to go into your phone settings and inside that navigate to call settings then call forwarding or call diverting. Set your phone to divert all calls to the number 9935044567 and viola! Whoever calls you will now be informed that either your phone is switched off or not reachable. Also, you will receive an SMS in a few moments from the caller's number. If you are an Airtel customer of some other circle then too this trick will work but you have to change the number. The number can be obtained easily by going to call divert or forwarding settings and seeing the preset number for the field Divert when not reachable. Set that same number to Divert always and you are done! I tested with my Reliance GSM number of UP east and set its divert to that Airtel number 9935044567 and w00t!! When anyone calls my Reliance number he/she is told that This airtel number is not reachable! ROFL! Its fun and useful at times! Do try it.&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-7858557045384926774?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/TWPRSeV8hQQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/7858557045384926774/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=7858557045384926774" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/7858557045384926774?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/7858557045384926774?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/TWPRSeV8hQQ/airtel-trick.html" title="An airtel trick" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.techbite.in/2010/12/airtel-trick.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QASXozeCp7ImA9Wx9TEkk.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-8593681985520220624</id><published>2010-11-20T15:49:00.003+05:30</published><updated>2010-11-20T16:05:48.480+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-20T16:05:48.480+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="MySQL" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="PHP" /><category scheme="http://www.blogger.com/atom/ns#" term="Oracle" /><title>Importing MS Access database into Oracle 10g or MySQL</title><content type="html">While working on a data mining project I came across an issue in which I had to dump all the data from an MS Access mdb file into Oracle and MySQL database tables. Actually, to test your implementations of various data mining algorithms you need huge real life data sets, and they are mostly available on the internet in CSV formats or MS Access mdb files. One great place to download such data sets is the Machine Learning repository of University of California. Here is the link:&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://archive.ics.uci.edu/ml/"&gt;http://archive.ics.uci.edu/ml/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Now lets get back to the point of this post. Yesterday I got an mdb file and I needed to put all the data into my Oracle 10g XE installation for developing and testing an implementation of &lt;a href="http://ieeexplore.ieee.org/Xplore/login.jsp?url=http://ieeexplore.ieee.org/iel5/4385040/4385041/04385059.pdf%3Farnumber%3D4385059&amp;amp;authDecision=-203"&gt;CTU-Tree data mining&lt;/a&gt;&amp;nbsp;&lt;a href="http://ieeexplore.ieee.org/Xplore/login.jsp?url=http://ieeexplore.ieee.org/iel5/4385040/4385041/04385059.pdf%3Farnumber%3D4385059&amp;amp;authDecision=-203"&gt;algorithm&lt;/a&gt;. The table had 1 lakh records. The first column was the ID, for serial number or transaction ID and next 19 were labelled as A to S. It was a transactional dataset. I would like to point that here transactional doesn't mean the ACID property following database, but actual data pertaining to transactions in supermarkets.&lt;br /&gt;
I personally hate MS Access as a database and I am a big fan of Oracle (although they're doing nasty things with &lt;a href="http://en.wikipedia.org/wiki/Android_(operating_system)"&gt;Android&lt;/a&gt; now a days :P).&lt;br /&gt;
&lt;b&gt;&lt;u&gt;First attempt&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
I fiddled with some options in MS Access and exported the whole data set into XML format. For that, in the left column just right click the table name and see the Export menu option. Then&amp;nbsp;I went to application express in 10g XE and tried the Load XML data option. Unfortunately it didn't work. Probably Oracle's Load XML Data couldn't parse Access's exported XML well.&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Second Attempt&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
Next, I tried to export the Access file into TXT format delimited by commas. The export was successful except with an issue that I got warnings because some of the cells in the Access DB were null. I tried Load Text Data, in Oracle.This time Oracle's importer crashed, dunno why. I tried the same thing again but in vain. The application didn't crash but it showed me the status as&lt;br /&gt;
Succeeded: 0&lt;br /&gt;
Failed: 100000&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Third attempt with MySQL&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
I thought, let me dump all of it to MySQL as MySQL is more flexible in many trivial things. The text export had one lakh lines like these two:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;1,"25","52","164","240","274","328","368","448","538","561","630","687","730","775","825","834","0","0","0","100"&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;2,"39","120","124","205","401","581","704","814","825","834","0","0","0","0","0","0","0","0","0","0"&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
I created a table in a MySQL database with 20 columns all of type INT. Then I used this command in the mysql client command line utility:&lt;br /&gt;
&lt;br /&gt;
LOAD DATA INFILE 'G:\TRANSACTIONS.TXT' INTO TABLE transactions;&lt;br /&gt;
&lt;br /&gt;
I pressed the enter and within a second the output came. But it showed some warning. I ignored and straight away launched PHPMyAdmin to have a glance at the data. Alas! Only the first column had data! Rest all were set to NULL! Then I noticed the double quotes enclosed values in the rest 19 columns except the first. In the text editor(I use &lt;a href="http://www.jedit.org/"&gt;jEdit&lt;/a&gt;) I did a find and replace for " and tried to replace it with nothing. But it crashed. Same thing happened with Notepad++. This was due to the high volume of data.&lt;br /&gt;
I straight away went to MS Access and in the export wizard I removed the TEXT QUALIFIER as " and set it to {none} in the third dialog of the wizard. This time all the data in the export was without double quotes. I ran the MySQL's LOAD DATA command as written earlier, again and still I got warnings.&lt;br /&gt;
Then I modified the command a bit as follows to indicate the comma delimitation:&lt;br /&gt;
LOAD DATA INFILE 'G:\TRANSACTIONS.TXT' INTO TABLE transactions FIELDS TERMINATED BY ','&lt;br /&gt;
and executed it. Voila! The first success! It all went well and within a second, 1 lakh entries were inside MySQL. And this time without any errors and warnings.&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Attempt 4: Oracle&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Now after a fortune with MySQL I had to get the data anyhow into Oracle. I created a table in Oracle with the requisite number of columns all with NUMBER data type. Then I wrote a PHP program to automate the task, and in 1 minutes 47 seconds it did the job! Here is the program:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&amp;lt;?php&lt;br /&gt;
ini_set("max_execution_time",1200);&lt;br /&gt;
// Connect to the Oracle 10g XE database&lt;br /&gt;
$conn = oci_connect('user', 'pass', '127.0.0.1/XE');&lt;br /&gt;
&lt;br /&gt;
if (!$conn){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$e = oci_error();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);&lt;br /&gt;
}&lt;br /&gt;
$blah=file_get_contents("TRANSACTIONS.TXT");&lt;br /&gt;
$blah1=explode("\n",$blah);&lt;br /&gt;
$i=0;&lt;br /&gt;
while($i&amp;lt;count($blah1)){&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$blah2="INSERT INTO transactions VALUES(".$blah1[$i].")";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;//use the below line instead of above if you need to dump a file that has field values enclosed with double quotes&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;//$blah2="INSERT INTO transactions VALUES(".str_replace('"','',$blah1[$i]).")";&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;//echo $blah2;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$stid = oci_parse($conn, $blah2);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;oci_execute($stid);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;$i++;&lt;br /&gt;
}&lt;br /&gt;
echo "Done!";&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;/blockquote&gt;The latest update is that I successfully dumped the file that I had dumped in MySQL(i.e. the one without double quotes enclosed field values), into Oracle using the built in Load Text Data technique. The errors earlier were due to the double quotes which made the data as string but the column types were NUMBERs in the table.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-8593681985520220624?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/q98cum4gFfk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/8593681985520220624/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=8593681985520220624" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/8593681985520220624?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/8593681985520220624?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/q98cum4gFfk/importing-ms-access-database-into.html" title="Importing MS Access database into Oracle 10g or MySQL" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.techbite.in/2010/11/importing-ms-access-database-into.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkADQHs-eip7ImA9Wx5aEUU.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-8718973319083777439</id><published>2010-11-07T15:41:00.003+05:30</published><updated>2010-11-08T07:16:11.552+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-08T07:16:11.552+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="XPERIA X10 Mini" /><category scheme="http://www.blogger.com/atom/ns#" term="Sony Ericsson" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>Android 2.1 on X10 Mini</title><content type="html">I recently got Android 2.1 up and running on my &lt;a href="http://p97.blogspot.com/2010/08/sony-ericsson-xperia-x10-mini.html"&gt;X10 Mini&lt;/a&gt;. Although it isn't yet available for Indian X10 Mini owners but through the instructions at &lt;a href="http://forum.xda-developers.com/"&gt;XDA-Developers forums&lt;/a&gt;, I became one lucky Indian to have the Eclair on my phone!&lt;br /&gt;
If you are still running the old 1.6 firmware, you can upgrade to 2.1 easily. There are two techniques. One is to directly flash a firmware into your phone, and other is to make SE Update Service believe that your phone belongs to a place where 2.1 has already been rolled out and then &lt;a href="http://www.sonyericsson.com/cws/support/softwaredownloads/detailed/updateservice/xperiax10mini?cc=us&amp;amp;lc=en"&gt;SE Update Service application&lt;/a&gt; will put new firmware onto your phone.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://forum.xda-developers.com/showthread.php?t=825664"&gt;The first method&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://forum.xda-developers.com/showthread.php?t=831327"&gt;The second method&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
For the first method to work, you must have Java(at least JRE) installed in your system. To check, just open a command prompt and type java and press enter. If you get some large output, that means java is installed and working. If you get "Java is not recognized as a.......&lt;blah&gt;&lt;blah&gt;..." that means Java isn't installed. &lt;a href="http://www.java.com/en/download/manual.jsp"&gt;Go here&lt;/a&gt;&amp;nbsp;and get Java for your OS and install it.&lt;/blah&gt;&lt;/blah&gt;&lt;br /&gt;
&lt;br /&gt;
In the second method, you need a rooted phone. Rooting a phone can be done by two techniques. I'll tell you the second one because thats the easiest and even non-engineerig background people will be able to do it without ease! You just need to install an application called &lt;a href="http://www.4shared.com/file/wE7xN8Te/UniversalAndroot_161.htm"&gt;UniversalAndRoot&lt;/a&gt; on your phone, launch it and tap Root!!!! Thats all!!! After the rooting, you need to install &lt;a href="http://www.4shared.com/file/SYBQZrdx/RootExplorerv2123.htm"&gt;RootExplorer&lt;/a&gt; on your phone. Then overwrite the build.prop file in your phone's system directory with the one downloaded from &lt;a href="http://forum.xda-developers.com/showthread.php?t=831327"&gt;here&lt;/a&gt;&amp;nbsp;. After that turn off your phone and turn it on. You will get an error that some application has crashed. Now again turn it off. Launch SE Update Service on your computer and follow the instructions. Your computer must be connected to a high speed internet. In the step when it instructs you to release the back key, don't release it. You will see the New Software Available prompt, release the back button and install the software.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Whats new in the new firmware?&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;br /&gt;
&lt;u&gt;The social phonebook&lt;/u&gt;&lt;br /&gt;
This is my favourite feature in the new firmware. Your contacts' profile photos from their facebook profiles are displayed when they call you or when you call them. Also, you can see their twitter and facebook status updates right in the contacts. To link any of your phone contacts with his/her facebook/twitter profile &lt;a href="http://www.sonyericsson.com/cws/support/phones/detailed/linkafacebookortwittercontacttoaphonecontactfromsonyericssontimescape/xperiax10mini?cc=is&amp;amp;lc=is"&gt;go here&lt;/a&gt;&amp;nbsp;otherwise if the contact has same first name and last name on facebook, his/her profile will be automatically linked to your phonebook's contact entry.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Double tap to zoom&lt;/u&gt;&lt;br /&gt;
In the browser now you can zoom to a specific part of the webpage by double tapping. Also its nice when you double tap and the text columns adjust automatically to make reading easier. You can download Dolphin Browser HD from the Android Market to have an still better experience. Dolphin Browser HD has a plugins API and several plugins have been developed for it. For example web2pdf plugin can convert whole webpage to a pdf file.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Live wallpapers&lt;/u&gt;&lt;br /&gt;
Now you can have animated wallpapers on your phone. I installed the Aquarium live wallpaper and it is very beautiful. There are several more good live wallpapers available for free download from the market to spice up your phone.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Video recording with continuous autofocus&lt;/u&gt;&lt;br /&gt;
The new firmware makes your phone capable of VGA@30fps video recording with continuous autofocus, which is a big plus.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Skype&lt;/u&gt;&lt;br /&gt;
Skype is available for Android 2.1 but it isn't supported on X10 Mini. I installed it but it used to crash whenever I tapped any contact's name to call.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Minor changes in interface&lt;/u&gt;&lt;br /&gt;
There are several minor changes in the interface. The blue ambience has gone deeper blue. The lock screen has changed. The call receive/reject screen slider has changed. It looked confusing for me at first when I got the first call. I was confused which way should I drag the slider to receive the call. Finally I went with my intuition and dragged the slider to the right to receive the call. Dragging to the left rejects the call.&lt;br /&gt;
The settings menu entries have got icons beside them. The wakeup key has changed. The middle key should now be used to wake the phone up, instead of any of the three keys.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Album issue&lt;/u&gt;&lt;br /&gt;
The album has gone damn slow at initial launch. You need to wait patiently till all the thumbnails are generated. Anyways, after loading the thumbnails it regains its elegance and is fast as ever.&lt;br /&gt;
&lt;br /&gt;
I have discovered some more great apps that you should try:&lt;br /&gt;
&lt;i&gt;PowerAmp&lt;/i&gt;: The best music player for Android&lt;br /&gt;
&lt;i&gt;RockPlayer&lt;/i&gt;: Play all video formats on your phone&lt;br /&gt;
&lt;i&gt;TapaTalk&lt;/i&gt;: It can let you browse and post in any TapaTalk enabled forum.&lt;br /&gt;
&lt;i&gt;iReader&lt;/i&gt;: It can view chm files(the compiled help manuals of windows)&lt;br /&gt;
&lt;i&gt;Call Recorder&lt;/i&gt;: You can record any calls&lt;br /&gt;
&lt;i&gt;Android Notifier&lt;/i&gt;: Get notified on your pc about any incoming calls or SMSes when your phone isn't in your direct sight.&lt;br /&gt;
&lt;i&gt;goChat&lt;/i&gt;: Facebook chat on your phone&lt;br /&gt;
&lt;i&gt;Recordoid&lt;/i&gt;: Record voices&lt;br /&gt;
&lt;i&gt;Wyse Pocket Cloud&lt;/i&gt;: A VNC client. You can control your Windows or Linux or even Mac computer from your phone directly as if you are using your PC, on your phone&lt;br /&gt;
&lt;i&gt;Camera Zoom FX&lt;/i&gt;: Its a good replacement for the inbuilt camera&lt;br /&gt;
&lt;br /&gt;
For downloading more and more apps &lt;a href="http://ipmart-forum.com/forumdisplay.php?f=800"&gt;visit this page&lt;/a&gt;&amp;nbsp;To be able to download anything you must be registered there. You should also register and keep visiting &lt;a href="http://forum.xda-developers.com/forumdisplay.php?f=723"&gt;xda-developers forums x10 mini zone&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-8718973319083777439?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/B_rJl5Larpo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/8718973319083777439/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=8718973319083777439" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/8718973319083777439?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/8718973319083777439?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/B_rJl5Larpo/android-21-on-x10-mini.html" title="Android 2.1 on X10 Mini" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://www.techbite.in/2010/11/android-21-on-x10-mini.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUCQnc_cSp7ImA9Wx9TFU8.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-1667637510518240134</id><published>2010-11-03T17:10:00.001+05:30</published><updated>2010-11-23T21:34:23.949+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-23T21:34:23.949+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Research" /><title>Grid &amp; Cluster computing</title><content type="html">Both grid computing and cluster computing are high performance computing techniques that are interchangeably confused between each other by people not involved in any one or both of these. There are some very fundamental differences between these which I'm going to enlist below:&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Salient characteristics of grids&lt;/u&gt;&lt;br /&gt;
Grids are collections of heterogeneous systems. The underlying OS, as well as hardware may vary among the computers participating in the grids. The computers that are part of a grid use their spare computational power to perform the tasks assigned to the grid. They are very loosely coupled and inherently distributed in nature may be over LAN, MAN or even WAN. In a grid infrastructure, every computer behaves as a single entity and each entity has its own resource manager that manages the computing resources. Grids are of two types: computational grids and data grids. The former are used for computationally intensive operations and the latter are used for large scale data base management systems like Oracle 10g/11g.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Salient characteristics of clusters&lt;/u&gt;&lt;br /&gt;
Clusters are collections of homogeneous systems. The operating system as well as hardware in the participating computers of a cluster are same. The computers in the cluster use their full computational power to solve a problem together, contrasting to the spare computational power usage of grid entities. In a cluster all nodes behave like a single system and there is a single centralized resource manager.&lt;br /&gt;
&lt;br /&gt;
Hope, this clears the confusion between grids and clusters. Both of these technologies are trending research topics for scholars.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-1667637510518240134?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/Aj0umqCoc3o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/1667637510518240134/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=1667637510518240134" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/1667637510518240134?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/1667637510518240134?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/Aj0umqCoc3o/grid-cluster-computing.html" title="Grid &amp; Cluster computing" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.techbite.in/2010/11/grid-cluster-computing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EFSHk7eip7ImA9Wx5UFk8.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-4968150242825490052</id><published>2010-10-21T07:16:00.000+05:30</published><updated>2010-10-21T07:16:59.702+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-21T07:16:59.702+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Fujitsu-Siemens Amilo Si 3655" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu" /><title>Realtek ALC888 sound issues in Ubuntu 10.10</title><content type="html">I own a Fujitsu Siemens Amilo Si 3655 laptop computer which has &lt;a href="http://www.realtek.com.tw/products/productsview.aspx?langid=1&amp;pfid=28&amp;level=5&amp;conn=4&amp;prodid=135"&gt;Realtek ALC 888 audio mixer&lt;/a&gt;. Everything was working fine until one on 10/10/10 at 10:10 GMT I downloaded Ubuntu 10.10 and installed it in 10 minutes 10 seconds on my notebook. I encountered an strange issue. I couldn't hear any sound from the notebook's built in speakers, but when I plugged in earphones into the stereo jack, the sound worked perfectly in the earphones. I never had this kind of issue when I was using Ubuntu 10.04. I searched through &lt;a href="http://ubuntuforums.org"&gt;Ubuntu Forums&lt;/a&gt; but none of the tricks worked. I ran the command &lt;i&gt;ubuntu-bug audio&lt;/i&gt; and reported the bug to &lt;a href="https://launchpad.net"&gt;launchpad&lt;/a&gt;. While browsing the bugs with the same sound card on launchpad I came across a comment that advised me to edit the &lt;i&gt;/etc/modprobe.d/alsa-base.conf&lt;/i&gt; file and append two lines given below, to it.&lt;br /&gt;
&lt;blockquote&gt;alias snd-card-0 snd-hda-intel&lt;br /&gt;
options snd-hda-intel model=auto&lt;/blockquote&gt;I did the same by running &lt;i&gt;sudo gedit /etc/modprobe.d/alsa-base.conf&lt;/i&gt; in a terminal and adding those two lines at the end of the file and saving it.&lt;br /&gt;
As soon as I restarted the computer, I heard the Ubuntu Login sound that pops on the login screen!!! So if you have a Fujitsu Siemens Amilo Si3655 or any other notebook that uses Realtek ALC888, just follow the step above and get your internal speakers working.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-4968150242825490052?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/SF9bVqoNHV4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/4968150242825490052/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=4968150242825490052" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/4968150242825490052?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/4968150242825490052?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/SF9bVqoNHV4/realtek-alc888-sound-issues-in-ubuntu.html" title="Realtek ALC888 sound issues in Ubuntu 10.10" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>6</thr:total><feedburner:origLink>http://www.techbite.in/2010/10/realtek-alc888-sound-issues-in-ubuntu.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8MQXg-fSp7ImA9Wx5UEE8.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-3160071124878763049</id><published>2010-10-14T08:06:00.003+05:30</published><updated>2010-10-14T08:24:40.655+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-14T08:24:40.655+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><title>scanf() is nasty!! Is it?</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
If you have begun C programming, chances are you have already faced or you will very soon face the nasty behaviour of scanf while inputting characters. If you have faced this problem and didn't get a solution yet, read on. If you haven't faced this problem, you'll do very soon, so read on :P&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;The problem&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Consider the following C program:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;&lt;pre&gt;#include &amp;lt;stdio.h&amp;gt;
int main(){
    char ch[10];
    int i[10], j=0;
    while(j&amp;lt;10){
      printf("Please enter a character: ");
      scanf("%c",&amp;amp;ch[j]);
      printf("Please enter an integer: ");
      scanf("%d",&amp;amp;i[j]);
      j++;
     }  
    j=0;
    printf("Char\tInt\n");
    printf("____\t____\n");
    while(j&amp;lt;10){
    printf("%c\t%d\n",ch[j],i[j]);
    j++;
    }
    return 0;
    } &lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;
The program is very simple. It takes a character and a number as input, 10 times and then outputs them neatly in a table format. Is it so? The program code looks like that. Now compile the program with gcc and run it. The behaviour you'll see is unexpected! Then what went wrong?&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;The cause&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
We have used the format specifier %c with the first scanf. That is the root of the problem! What happens is that, when you enter a character, for example &lt;i&gt;a &lt;/i&gt;and press enter, actually two characters go into the standard input stream. First is the &lt;i&gt;a &lt;/i&gt;and second is the &lt;i&gt;\n &lt;/i&gt;i.e. the newline character corresponding to your enter press. %c reads the single character i.e. &lt;i&gt;a&lt;/i&gt; and stores it in the variable. Next you enter anything&lt;i&gt;&amp;nbsp;&lt;/i&gt;as integer, say &lt;i&gt;1. &lt;/i&gt;The second scanf skips the &lt;i&gt;\n &lt;/i&gt;that was left after the &lt;i&gt;a&amp;nbsp;&lt;/i&gt;because it doesn't look like an integer. Then it encounters &lt;i&gt;1 &lt;/i&gt;which is followed by a &lt;i&gt;\n &lt;/i&gt;so it stores the 1 into the integer variable. In the next iteration of the loop the &lt;i&gt;%c &lt;/i&gt;in the scanf directly takes the &lt;i&gt;\n &lt;/i&gt;from the&lt;i&gt; stdin&amp;nbsp;&lt;/i&gt;that was entered after the &lt;i&gt;1 &lt;/i&gt;and you don't even get a chance to enter a character. This process goes on and on and you never get a chance to enter any character. You are prompted to enter integer only, during each iteration of the loop. Hope you got it ;-) To confirm, just enter %d as the format specifier of printf instead of %c for the character variable in line 16. You'll get the ASCII value of newline character i.e. 10 printed neatly in the table in place of characters in the output.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;The solution&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
There are several solutions to this problem.&lt;br /&gt;
The first one I saw in a forum was to clean the &lt;i&gt;stdin. &lt;/i&gt;A funcion proposed to do that was as follows:&lt;br /&gt;
&lt;blockquote&gt;void clean_stdin(void)&lt;br /&gt;
{&lt;br /&gt;
int c;&lt;br /&gt;
&lt;br /&gt;
do&lt;br /&gt;
{&lt;br /&gt;
c = fgetc(stdin);&lt;br /&gt;
}&lt;br /&gt;
while (c != '\n' &amp;amp;&amp;amp; c != EOF);&lt;br /&gt;
}&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;and you're supposed to call this after every time you &lt;i&gt;scanf &lt;/i&gt;a characer with the &lt;i&gt;%c &lt;/i&gt;format specifier. I tried it, and it worked.&lt;br /&gt;
Another solution is the put a &lt;i&gt;getchar() &lt;/i&gt;line after every scanf. It will take the trailing newline character and put into oblivion :P&lt;br /&gt;
Yet another solution, that I loved was to put a trailing space before the &lt;i&gt;%c&lt;/i&gt;&amp;nbsp;like this:&lt;br /&gt;
&lt;blockquote&gt;scanf(" %c",&amp;amp;ch[j]);&lt;/blockquote&gt;What the space before %c do, is that, it makes the scanf skip any kind of trailing whitespaces and then reads any non-whitespace character and puts into the character variable.&lt;br /&gt;
In fact, as you now know the reason of the issue you can develop as many solutions as you want.&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-3160071124878763049?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/iYGaVjXkIIU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/3160071124878763049/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=3160071124878763049" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/3160071124878763049?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/3160071124878763049?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/iYGaVjXkIIU/scanf-is-nasty-is-it.html" title="scanf() is nasty!! Is it?" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.techbite.in/2010/10/scanf-is-nasty-is-it.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUMCQ3gzeyp7ImA9Wx5WFU8.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-6384807529117569644</id><published>2010-09-26T21:50:00.002+05:30</published><updated>2010-09-26T23:21:02.683+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-26T23:21:02.683+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Study" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><title>Hone your algorithmic and programming skills</title><content type="html">Efficient and clever programming is one quality which every to-be IT professional should possess. Most people misunderstand programming as 'knowing full syntax and semantics set of your favourite programming language(s)'. Programming languages are mere tools to implement your algorithms. The real power lies in devising the algorithm to solve real world problems and this ability needs a solid foundation of mathematics and aptitude. Converting your algorithm into a program in any programming language is the last step.&lt;br /&gt;
Most students who learn how to find factorial, fibonacci sequence, palindrome etc. start thinking themselves as great programmers. If you are such a student, you are on a wrong track. I was also one among the same, when I was in 2nd Semester of B.Tech, way back in 2007. Until and unless you train yourself to program for real world problem situations, your programming capabilities are for nothing.&lt;br /&gt;
If you want to bear that special quality, then you should hone your programming skills. Just like everything we have on internet, there is a service dedicated to this thing too, on the internet. It is called SPOJ that stands for SPhere Online Judge. The address is &lt;a href="http://spoj.pl/"&gt;http://spoj.pl&lt;/a&gt; . Register there. Once you login, you can click "Problems" in the left pane to see a list of programming problems. Click anyone in the list. Read the problem and try to solve. If you are a first timer, pay attention to their input and output constraints and example. Since your program will be evaluated by a computer, not a human being, you need to accept inputs and present output in the way defined in the problem. You can see the example input and output set t understand the issue. Once you solve and test on your computer, you should upload and check whether it gets accepted. Most beginners have problems following the input and output constraints. Once you get used to, SPOJ is very addictive if you are a guy serious about sharpening your skills.&lt;br /&gt;
The problems are generally tough mathematical issues. You need to think with open and calm mind to arrive at a solution. If you are a B.E./B.Tech CS/IT guy I would really like to encourage you to continue this as a hobby through out the course. At the end you will be an outstanding guy in your group.&lt;br /&gt;
And, if you wish to earn some cash then go to &lt;a href="http://codechef.com/"&gt;http://codechef.com&lt;/a&gt; and participate in their competitions. There are cash prizes for the winners.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-6384807529117569644?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/aIrd0f5B5b4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/6384807529117569644/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=6384807529117569644" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/6384807529117569644?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/6384807529117569644?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/aIrd0f5B5b4/hone-your-algorithmic-and-programming.html" title="Hone your algorithmic and programming skills" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.techbite.in/2010/09/hone-your-algorithmic-and-programming.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkINRX87fCp7ImA9Wx5VE04.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-8645171824538348615</id><published>2010-09-17T18:46:00.002+05:30</published><updated>2010-10-06T08:39:54.104+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-06T08:39:54.104+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="XPERIA X10 Mini" /><category scheme="http://www.blogger.com/atom/ns#" term="Sony Ericsson" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>Solution to Android's Ad-Hoc WiFi issue</title><content type="html">I own a Sony Ericsson XPERIA X10 Mini(Also known as E10i). It runs Android OS 1.6 Donut. Android doesn't let you connect your phone to an ad-hoc(i.e. computer to computer) WiFi network for browsing internet. Only infrastructure networks are supported. So, if you have a wired internet connection in your laptop or desktop PC, you can't share that to your Android phone through WiFi. You need to purchase a WiFi router/access point to do so. But now, you can do that at absolutely no cost!!! Without purchasing any hardware!!!! Read on...&lt;br /&gt;
&lt;br /&gt;
Today I came across a freeware application for Windows 7, that turns your Windows 7 computer into a WiFi Access Point!!!! It emulates a WiFi router through Software!!!! And my problem is solved!!!! Now I can share my laptop's wired internet connection to my Android phone. Here is a 2-step guide to setting up everything.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Step 1&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Download the application &lt;a href="http://connectify.me/"&gt;Connectify&lt;/a&gt; from &lt;a href="http://download.cnet.com/Connectify/3000-18508_4-75024171.html?part=dl-10061477&amp;amp;subj=dl&amp;amp;tag=button"&gt;here&lt;/a&gt; and install it. It will prompt you to install a driver, twice. Press Ok, for each prompt.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;&lt;b&gt;Step 2&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;
After the installation, you'll see an icon in the system tray which looks like &lt;img border="0" src="http://4.bp.blogspot.com/_5M2InawvccI/TJNfoI1mnzI/AAAAAAAAAho/czMz6C1KP88/s1600/Clipboard04.jpg" /&gt;. Click the icon. You'll see a pop up dialog as shown below.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5M2InawvccI/TJNgGNbrhbI/AAAAAAAAAhs/dhJ0AXt8LyA/s1600/Clipboard07.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_5M2InawvccI/TJNgGNbrhbI/AAAAAAAAAhs/dhJ0AXt8LyA/s320/Clipboard07.jpg" width="207" /&gt;&lt;/a&gt;&lt;/div&gt;Turn on your laptop's WiFi card if your laptop has a dedicated button to turn it on. Then fill the &lt;b&gt;WiFi Name&lt;/b&gt; as anything you like. I filled it MAX. Check the box that says &lt;b&gt;Share Internet&lt;/b&gt;. Then in the &lt;b&gt;Mode &lt;/b&gt;drop down list, select &lt;b&gt;Access Point, WPA2-PSK&lt;/b&gt;. Oh wait!!! Do you see only &lt;b&gt;Ad-hoc open&lt;/b&gt; and &lt;b&gt;Ad-hoc WEP&lt;/b&gt;? If you see Access Point, WPA2-PSK or you don't see a drop down list at all, means you're lucky. Just click &lt;b&gt;Start Hotspot&lt;/b&gt; button, and you're done! For those who aren't lucky, just like me, read on...&lt;br /&gt;
&lt;b&gt;&lt;/b&gt;What happened to me was that I didn't see the Access Point mode. I thought, my WiFi card doesn't support Access Point mode. I went to the supported card's list at &lt;a href="http://connectify.me/docs/supportedcards.html"&gt;http://connectify.me/docs/supportedcards.html&lt;/a&gt;&amp;nbsp;and I could see my card&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif; font-size: 13px;"&gt;&lt;b&gt;Intel 5100/5300, WiFi Link 1000 BGN&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;listed ther&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif; font-size: 13px;"&gt;e. "&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Then what's the catch?", thought the frustrated me! I noted that the driver version supported was&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif; font-size: 13px;"&gt;13.0.0.107. &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I checked my card's driver version in &lt;b&gt;Device Manager&lt;/b&gt; and saw that it was 11.x.x.x. I went to my laptop's manufacturer support site and saw that the latest WiFi driver for my machine was available and it was 13.0.0.107. I also noticed that all other components(like Chipset, Audio, Graphics, Ethernet card etc...) had updated drivers for them. I &lt;a href="https://addons.mozilla.org/firefox/addon/201"&gt;Downed 'em all&lt;/a&gt;&amp;nbsp;and installed.(What's the morale??? Always keep your drivers updated.)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;After the re-boot, I could see a Virtual WiFi MiniPort adaptor installed in Network Connections with the name Wireless Network Connection 2.&lt;/span&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/TJNnGQgyEGI/AAAAAAAAAh4/s8dKq01dveg/s1600/Clipboard05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://2.bp.blogspot.com/_5M2InawvccI/TJNnGQgyEGI/AAAAAAAAAh4/s8dKq01dveg/s320/Clipboard05.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Then I launched connectify, I didn't see any drop down list in the mode box(screenshot. below).&amp;nbsp;&lt;/span&gt;I entered a 8-character WPA2 key and clicked the&amp;nbsp;&lt;b&gt;Start Hotspot&lt;/b&gt;&amp;nbsp;button.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/TJNsjr6KNbI/AAAAAAAAAiA/va3X8DZwXkc/s1600/Clipboard01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/_5M2InawvccI/TJNsjr6KNbI/AAAAAAAAAiA/va3X8DZwXkc/s320/Clipboard01.jpg" width="189" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;It took a while(about 15-20 seconds) to configure and my WiFi hotspot was up and running! My Connectify popup was now with the Status:&amp;nbsp;&lt;b&gt;Running MAX&lt;/b&gt;, Mode: &lt;b&gt;Access Point WPA2-PSK.&amp;nbsp;&lt;/b&gt;&lt;/span&gt;I was a happy man! I turned on my phone's WiFi and connected my phone to MAX easily. I saw my phone's MAC and IP addresses in the &lt;b&gt;Connected Clients&lt;/b&gt; list. Even a Sony Ericsson logo was shown there!!!&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5M2InawvccI/TJNlwaf4qYI/AAAAAAAAAhw/Fgjo_Jxpa90/s1600/Clipboard02.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_5M2InawvccI/TJNlwaf4qYI/AAAAAAAAAhw/Fgjo_Jxpa90/s320/Clipboard02.jpg" width="207" /&gt;&lt;/a&gt;&lt;/div&gt;Using DHCP my phone was assigned the IP address 192.168.2.10. The computer's Software based WiFi router was assigned the IP address as 192.168.2.1. In the system tray, the red mark from Connectify icon was now removed and it was like this &lt;img border="0" src="http://4.bp.blogspot.com/_5M2InawvccI/TJNmla0KiPI/AAAAAAAAAh0/Dhw9YfFdfFc/s1600/Clipboard03.jpg" /&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;
&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Troubleshooting&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
Everything was up and runing, still I couldn't browse the web. In he phone, I checked the gateway address and it was fine i.e. 192.168.2.1, that I had already cnfigured in &lt;a href="http://sites.google.com/site/farproc/wifi-static"&gt;WiFi static&lt;/a&gt;.&lt;br /&gt;
I went to Network Connections, in my laptop. That can be reached through Network and Sharing Center &amp;gt; Change Adaptor Settings. I right clicked my wired ethernet icon and clicked properties. In the sharing tab Wireless Network Connection was listed as the &lt;b&gt;Home Netowrking Connection&lt;/b&gt;. I understood that it must be set to &lt;b&gt;Wireless Network Connection 2 &lt;/b&gt;which was the name of the connection that WiFi Miniport Adaptor had.&amp;nbsp;I unchecked the box that said &lt;b&gt;Allow other network users to connect through.....&lt;/b&gt;&amp;nbsp;then clicked Ok, and closed the properties window. Then again right clicked my wired internet connection icon, clicked properties and in the &lt;b&gt;Sharing&lt;/b&gt; tab checked the box &lt;b&gt;Allow other.... &lt;/b&gt;In the Home Networking dropdown I selected &lt;b&gt;Wireless Networking Cnnection 2 &lt;/b&gt;and clicked Ok and closed the properties window.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5M2InawvccI/TJNpnnEzlxI/AAAAAAAAAh8/MiQfLazBQTs/s1600/Clipboard06.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/_5M2InawvccI/TJNpnnEzlxI/AAAAAAAAAh8/MiQfLazBQTs/s320/Clipboard06.jpg" width="252" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I restarted the hotspot and my phone got connected and I could successfully browse the web on my phone!!!&lt;br /&gt;
One of the major issues with the phone that I had pointed in one of my previous posts i.e.&amp;nbsp;&lt;a href="http://p97.blogspot.com/2010/08/sony-ericsson-xperia-x10-mini.html"&gt;http://p97.blogspot.com/2010/08/sony-ericsson-xperia-x10-mini.html&lt;/a&gt;&amp;nbsp;, has been solved!!! Go Android go!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-8645171824538348615?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/BsVImm4PSwQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/8645171824538348615/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=8645171824538348615" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/8645171824538348615?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/8645171824538348615?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/BsVImm4PSwQ/solution-to-androids-ad-hoc-wifi-issue.html" title="Solution to Android's Ad-Hoc WiFi issue" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_5M2InawvccI/TJNfoI1mnzI/AAAAAAAAAho/czMz6C1KP88/s72-c/Clipboard04.jpg" height="72" width="72" /><thr:total>4</thr:total><feedburner:origLink>http://www.techbite.in/2010/09/solution-to-androids-ad-hoc-wifi-issue.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkAARXczeCp7ImA9Wx5QFE8.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-6197041671661275627</id><published>2010-09-02T17:29:00.000+05:30</published><updated>2010-09-02T17:29:04.980+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-02T17:29:04.980+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="GATE" /><title>For the GATE-2011 aspirants</title><content type="html">An article by me for GATE-2011 aspirants has been published on &lt;a href="http://techvyom.com/"&gt;techvyom.com&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The link is:&lt;br /&gt;
&lt;a href="http://www.techvyom.com/2010/09/gate-faq-s-all-you-need-to-know-about.html"&gt;http://www.techvyom.com/2010/09/gate-faq-s-all-you-need-to-know-about.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-6197041671661275627?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/OtwmFingn-4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/6197041671661275627/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=6197041671661275627" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/6197041671661275627?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/6197041671661275627?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/OtwmFingn-4/for-gate-2011-aspirants.html" title="For the GATE-2011 aspirants" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.techbite.in/2010/09/for-gate-2011-aspirants.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYESXY9fyp7ImA9Wx5RGUw.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-2327371719354527507</id><published>2010-08-27T19:36:00.001+05:30</published><updated>2010-08-27T19:38:28.867+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-27T19:38:28.867+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><title>Download Managers on LINUX</title><content type="html">My college provides me an awesome fast internet. Actually it is a 1Gbps link which is shared among all the users in the institute. Using download managers(like FDM) I easily achive speeds within 2MB/s to 3.5MB/s on Windows. But on Linux I was never be able to cross 1200KB/s. That was because most DMs don't support fragmented downloading. Then I went on to review all the download managers on Linux and find one best among them all.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;1. MultiGet&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
MultiGet has issues with the proxy implementation in my college. I tried hard but it didn't let me download anything so it was out.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5M2InawvccI/TGtUDhGMzFI/AAAAAAAAAhQ/mxZHOE-uq-E/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://3.bp.blogspot.com/_5M2InawvccI/TGtUDhGMzFI/AAAAAAAAAhQ/mxZHOE-uq-E/s320/Screenshot.png" width="291" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5M2InawvccI/TGtUJOdWLHI/AAAAAAAAAhU/gR8Hw34mXvU/s1600/Screenshot-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="200" src="http://1.bp.blogspot.com/_5M2InawvccI/TGtUJOdWLHI/AAAAAAAAAhU/gR8Hw34mXvU/s320/Screenshot-2.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;br /&gt;
&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;2. KGet&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
It gets across my institute's proxy server but doesn't do fragmented downloading.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5M2InawvccI/TGtVECd3gOI/AAAAAAAAAhY/oyXiHjDQjdk/s1600/Screenshot-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://1.bp.blogspot.com/_5M2InawvccI/TGtVECd3gOI/AAAAAAAAAhY/oyXiHjDQjdk/s320/Screenshot-3.png" width="312" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;3. GWget&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
It is essentially a graphical front end to wget, which too doesn't support fragmented downloads.&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;4. FatRat&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
It is a featureful download manager for Linux. It supports BitTorrents and rapidshare downloads but I couldn't find no. of fragments in configuration. So, I've to look elsewhere.&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;5. Downloader 4 X&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
It supports fragmented downloads! And I easily crossed the 2MB/s mark!!!! That was where I stopped. To achieve this, I went to Options&amp;gt;General and there in the left pane chose Limits. There I could adjust the number of parts to split the file. I set the value to 10 and started enjoying the speed.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/THfDo3CcrKI/AAAAAAAAAhc/mDxRx52SOBQ/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="243" src="http://2.bp.blogspot.com/_5M2InawvccI/THfDo3CcrKI/AAAAAAAAAhc/mDxRx52SOBQ/s320/Screenshot.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;&lt;b&gt;&lt;u&gt;&lt;span class="Apple-style-span" style="font-size: x-large;"&gt;6. Aria2&lt;/span&gt;c&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Happy with D4X, I thought I should stop my hunt. But then I thought I should try the well known Aria downloader. It is a command line based download manager and very popular. I tried that and it supports fragmented downloads.&lt;br /&gt;
The following command made me download Fedora 13 into 12 segments. Note that the command line parameter -s is used to specify the number of segments for the download and the parameter --http-proxy allows me to cross my college's proxy cum firewall. xxxxx is the proxy password and ise2010012 is the username.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;aria2c -s 12 --http-proxy=http://ise2010012:xxxxx@172.31.1.3:8080/ http://mirror.facebook.net/fedora/linux/releases/13/Live/i686/Fedora-13-i686-Live.iso&lt;/blockquote&gt;&lt;br /&gt;
If you love command line, this is for you. I do love it!&lt;br /&gt;
Please note that any of these download managers can be easily downloaded using your Linux distribution's built-in package manager by searching the name.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-2327371719354527507?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/2g-X1CnlOZw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/2327371719354527507/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=2327371719354527507" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/2327371719354527507?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/2327371719354527507?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/2g-X1CnlOZw/download-managers-on-linux.html" title="Download Managers on LINUX" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_5M2InawvccI/TGtUDhGMzFI/AAAAAAAAAhQ/mxZHOE-uq-E/s72-c/Screenshot.png" height="72" width="72" /><thr:total>2</thr:total><feedburner:origLink>http://www.techbite.in/2010/08/download-managers-on-linux.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYFSHs7fSp7ImA9Wx5REE0.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-9169870896735465315</id><published>2010-08-16T19:21:00.003+05:30</published><updated>2010-08-17T06:51:59.505+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-17T06:51:59.505+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="XPERIA X10 Mini" /><category scheme="http://www.blogger.com/atom/ns#" term="Sony Ericsson" /><category scheme="http://www.blogger.com/atom/ns#" term="Android" /><title>Sony Ericsson XPERIA X10 Mini</title><content type="html">As my old P1i was giving up, behaving somewhat weird, I thought I should get a new phone. I zeroed in on two phones. The SE Elm which would cost me Rs.10800 and the SE XPERIA X10 Mini Pro which was around Rs.16000. As I have to remain connected on the go and should always be ready to read PDFs and PPTs after getting myself admitted to PG, I ruled out Elm which isn't an smartphone and thought of getting an X10 Mini Pro. I hunted 10 shops in Allahabad but didn't find my phone of choice anywhere. Finally I settled onto the hardware keyboard sans version of Mini Pro i.e. Mini. It was available for Rs.14600 in Big Bazar, Rs.15300 in The Mobile Store and Rs.16600 in a local shop. Obviously, I opted for the Big Bazar.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/TGnjCioI14I/AAAAAAAAAhM/HoAn_1i9_3M/s1600/44379_429057788389_35313373389_4730086_5457928_n.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="290" src="http://2.bp.blogspot.com/_5M2InawvccI/TGnjCioI14I/AAAAAAAAAhM/HoAn_1i9_3M/s320/44379_429057788389_35313373389_4730086_5457928_n.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
The phone is little cute wonderful sweeeeeetie in my arsenal now. I was non-plussed at its speed. A 600MHz and an onboard 128MB RAM are enough to run the phone perfectly smooth without any apparent lag in UI, unlike the Nokia Symbians which run quite lethargic. The Android is an awesome development in the mobile OS world. Although it is missing some basic functionality at this point of time but still it is the best way to throw your crappy Nokia sluggish Symbian.&lt;br /&gt;
I'll start with the negative points first and afterwards move towards the positive points, then I'll provide you some tips(and apps) for the X10 mini and then off course will provide links to download few of the mentioned apps.&lt;br /&gt;
&lt;br /&gt;
Ok, negative points start first.&lt;br /&gt;
1. You can't connect to an ad-hoc WiFi network with android! What a shame!!!! Its not SE's fault, but a missing feature from Android.&lt;br /&gt;
2. You can't access internet on a WiFi network that requires you to specify a proxy address and username/password to surf the internet. Again! What a shame!!!! My college's each and every single inch falls in the marvellous WiFi connectivity of the campus but I can't browse the internet through my phone as, a freaking squid proxy server sits between us and the internet, at 172.31.1.3:8080. Anyways, later I found a workaround and was able to surf on my X10 Mini's browser!!! I'll post the thing later.&lt;br /&gt;
3. Coming to music player, the music in the bundled earphone is unlistenable. It is bassless and treble full. This is very bad from SE's part, really really bad. SE has been always a leader in mobile music industry with the W550i breaking the records once and others following the similar path. I hadn't expected this level of quality in SE's earphones. Anyways, I pushed in my Walkman's earphone and the quality was perfect. So, the phone isn't the culprit, the bundled earphone is. Actually they have given a 3.5mm jack which apart from earphones, also has an embedded microphone. This is something different from others.&lt;br /&gt;
4. You can't create playlists in the music player. Again, this is a no no!!! But well, there are workarounds, especially if you install third party apps.&lt;br /&gt;
5. The music player has no equalizer, nor presets for the equalizer settings. So you can't fine tune your music listening experience. Getting Astro Player circumvents this demerit as it has a very good equalizer.&lt;br /&gt;
6. The phone doesn't support bluetooth file transfer out of the box, however SE has promised that they will bundle the bluetooth file transfer app in the next firmware update. But you can download the Bluetooth File Transfer app from the Android Market for free and it works very perfectly.&lt;br /&gt;
7. &amp;nbsp;You can't install third party apps on the memory card. Everything goes to the 160MB internal memory. So, you're sure to fall short of some silicon if you are an application/game junkie. I installed 65 third party apps and I am left with around 40MB on my phone memory. Enough for me :)&lt;br /&gt;
8. You must have a google account to do many things for example downloading and installing apps from the market.&lt;br /&gt;
9. The screen has a low resolution i.e. 240x320&lt;br /&gt;
10. The onscreen keyboard is a multitap one instead of QWERTY so typing is slow. But there are third party apps for using onscreen keyboard and the typing becomes perfectly fast with them. SlideKeyboard is one such thing.&lt;br /&gt;
11. The battery isn't user replaceable. It is hard coded/wired/embedded under the hood.&lt;br /&gt;
&lt;br /&gt;
Ok ok, lots of criticism by now. So we should now start with the positives and then move to tips and tricks and then continue to some app downloads and then some other relevant info.&lt;br /&gt;
1. The User Interface is a marvel. Especially I love the Timescape and the very very fast and responsive interface &lt;br /&gt;
2. Most of the android system has been designed very logically and you will love it.&lt;br /&gt;
3. The phone has a magnetometer(digital compass) which works perfectly well, although you need a third party app to use it.&lt;br /&gt;
4. The phone has location services like geotagging, thanks to the perfect GPS receiver.&lt;br /&gt;
5. At 88 grams it is the lightest and smallest smartphone on the planet.&lt;br /&gt;
6. Battery backup is good in comparison to the smart phones. Works for two days of normal use for me. Warning: My normal use seems to be heavy use for many people. So if you are someone whose metric for normal use is smaller than mine the you can get your phone to work for 3 days on a single charge with ease.&lt;br /&gt;
7. The camera is one of the best 5.0 megapixel cameras in the market. It snaps near digicam pictures in day in good lighting conditions.&lt;br /&gt;
8. Although some people say that due to small screen resolution many android apps don't run on it. But this is &amp;nbsp;false. I've been able to run all android apps from the market, except two.&lt;br /&gt;
9. In october the phone's OS will be upgraded to Android 2.1 Eclair&lt;br /&gt;
&lt;br /&gt;
A list of useful apps follows, that you may download from the market.&lt;br /&gt;
Some apps can be downloaded from&amp;nbsp;&lt;a href="http://johnpatrick.vndv.com/android/"&gt;here&lt;/a&gt;. Download the archives in your computer and extract them to get the apk files. The password for the archives is &lt;i&gt;blahblah&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
1. &lt;b&gt;DocumentsToGo&lt;/b&gt;(Must-Have)&lt;br /&gt;
This cool thing lets you view and edit DOC, PPT, XLS, DOCX, PPTX, XLSX and PDF files very perfectly. This is a must. Download it &lt;a href="http://johnpatrick.vndv.com/android/"&gt;here&lt;/a&gt;, along with the unlocker.&lt;br /&gt;
How to install???? Open the menu, tap Settings, then tap Applications. Then tick mark Unknown Sources. Now transfer the .apk files you extracted from the downloaded archive to the memory card's other folder using a data cable. Now disconnect the phone from the computer and in its main menu tap Application Installer. It will search for the .apk file in the card and prompt you to install it.&lt;br /&gt;
2. &lt;b&gt;Astro File Manager&lt;/b&gt;(Must-have)&lt;br /&gt;
Its a very good file manager for android phones.&lt;br /&gt;
3. Gesture search(Must-have)&lt;br /&gt;
It lets you search for contacts using handwriting recognition. You swipe you finger as if drawing a character with pen, and it will search the contacts list for you&lt;br /&gt;
4. Compass&lt;br /&gt;
It utilizes your phone's built-in digital magnetometer and shows directions.&lt;br /&gt;
5. Photoshop&lt;br /&gt;
Wonderful tool for editing images&lt;br /&gt;
6. Facebook location updater&lt;br /&gt;
It posts your GPS location on facebookwith a link to google map for that location&lt;br /&gt;
7. PicSay Pro&lt;br /&gt;
Its a wonderful photo editor&lt;br /&gt;
8. Seesmic&lt;br /&gt;
Its the best twitter client for android.&lt;br /&gt;
9. WiFi Analyzer&lt;br /&gt;
Its of no use for me ;-( But may be some people will find it very helpful.&lt;br /&gt;
10. Yahoo Droid&lt;br /&gt;
Yahoo messenger for android&lt;br /&gt;
11. Meebo IM&lt;br /&gt;
Perfect multiprotocol IM client for Android. You may also try Slick. It is very good.&lt;br /&gt;
12. &lt;b&gt;Merriam Webster's Dictionary&lt;/b&gt;(Must-have)&lt;br /&gt;
Lookup any word meaning. You may also download voice pack for it, the download link for which will be shown to you after you launch it for the first time. The voice pack works perfectly and pronounces the words as you wish.&lt;br /&gt;
13. &lt;b&gt;WiFi Static&lt;/b&gt;(Must-have)&lt;br /&gt;
You can create several WiFi profiles, for example office, home etc. if you are in a non-DHCP network always. Then connect to any network conveniently. Very useful tool for me.&lt;br /&gt;
14. Qik&lt;br /&gt;
The live video streaming app. For more details visit &lt;a href="http://qik.com/"&gt;qik.com&lt;/a&gt; &lt;br /&gt;
15. Latitude&lt;br /&gt;
The google latitude service to find your nearby friends&lt;br /&gt;
16. Goggles&lt;br /&gt;
The photo search app from google. You can snap pictures of some known items and google will try to identify the image and come up with the info. Good for tourists. They can click monuments and know about them&lt;br /&gt;
17. Handcent SMS&lt;br /&gt;
It shows nicely your sms messages.&lt;br /&gt;
18. &lt;b&gt;AndroZip&lt;/b&gt;(Must-have)&lt;br /&gt;
The muti format archiver.&lt;br /&gt;
19. &lt;b&gt;Barcode scanner&lt;/b&gt;(Must-have)&lt;br /&gt;
Scan any barcode with your phone's camera and know about the product.&lt;br /&gt;
20. Apache file server&lt;br /&gt;
&amp;nbsp;and&lt;br /&gt;
WiFi File explorer&lt;br /&gt;
essentially let you do the same thing. They make your phone a file server and give you a browser interface so that you can download and upload files from and to the sd card from a computer&lt;br /&gt;
21. OfficeSuite&lt;br /&gt;
Its an alternatice for Docs2Go but I prefer Docs2Go&lt;br /&gt;
22. &lt;b&gt;SMS Speak&lt;/b&gt;(Must-have)&lt;br /&gt;
It will read out your SMS messages!&lt;br /&gt;
23. ES File Explorer, Security Manager and Task Manager&lt;br /&gt;
Good phone management applications. Security manager can protect your phone if it is stolen.&lt;br /&gt;
24. Google Translate&lt;br /&gt;
No need to mention.&lt;br /&gt;
25. GPS Status&lt;br /&gt;
It tells your latitude and longitude as well as uses your magnetometer to show directions.&lt;br /&gt;
26. Accu Weather&lt;br /&gt;
Weather report of your city on your X10 Mini&lt;br /&gt;
27. &lt;b&gt;K-9 Mail&lt;/b&gt;(Must-have)&lt;br /&gt;
Excellent mail client. Its a must have app!!!&lt;br /&gt;
28. MSN Droid&lt;br /&gt;
The MSN messenger for your Android&lt;br /&gt;
29. Neoreader&lt;br /&gt;
This will let you scan &lt;a href="http://en.wikipedia.org/wiki/QR_Code"&gt;QR codes&lt;/a&gt;.&lt;br /&gt;
30. Android VNC&lt;br /&gt;
The VNC viewer for your android. I didn't test it yet.&lt;br /&gt;
31. Net Tools&lt;br /&gt;
Basic network tools like ping, IP to host, host to IP lookups etc.&lt;br /&gt;
32. Chess&lt;br /&gt;
The chess game on your android&lt;br /&gt;
33. Infinity&lt;br /&gt;
Its a browser that uses smart fit and gets you out of the hassle of scrolling right-left on websites.&lt;br /&gt;
34. Logmein&lt;br /&gt;
It lets you log in to your PC. I didn't test it yet.&lt;br /&gt;
35. &lt;b&gt;Setting Profile&lt;/b&gt;(Must-have)&lt;br /&gt;
It lets you change profile with just a touch! You can create profiles for meeting, home, office, browsing, college etc and set the values for ringer, vibrator, backlight etc and then when entering one of those areas, change the profile instead of individually changing the settings.&lt;br /&gt;
36. Vignette&lt;br /&gt;
It lets you frame your camera pictures&lt;br /&gt;
37. Blogger Droid&lt;br /&gt;
For photo blogging from your phone.&lt;br /&gt;
38. System&lt;br /&gt;
It lets you view essential system info, like free RAM and processor speed&lt;br /&gt;
39. &lt;b&gt;Google Sky&lt;/b&gt;(Must-have)&lt;br /&gt;
It lets you view the location of astronomical bodies. Its a very good app for astronomical fun.&lt;br /&gt;
40. &lt;b&gt;ThickButtons&lt;/b&gt;(Must-have)&lt;br /&gt;
or SlideItKeyboard&lt;br /&gt;
The onscreen QWERTY keyboard instead of the built-in multitap keuboard. They both are good, but I prefer ThickButtons ;)&lt;br /&gt;
41. Pixelpipe&lt;br /&gt;
One touch multiplatform blogging app&lt;br /&gt;
42. Connect Bot&lt;br /&gt;
Use SSH from your phone&lt;br /&gt;
43. &lt;b&gt;Bluetooth file transfer&lt;/b&gt;(Must-have)&lt;br /&gt;
Transfer files to and from you phone via bluetooth.&lt;br /&gt;
44. Advance lie detector&lt;br /&gt;
I don't believe it works! But still you can try it for some fun&lt;br /&gt;
45. Search plus&lt;br /&gt;
Search content on Bing, Google, WikiPedia, Twitter etc.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Some handy tips&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
1. How to transfer contacts from your old phone into your android?&lt;br /&gt;
&lt;br /&gt;
Use your old phone's contact backup feature to create a VCF file for your contacts. For example, in SE phones in Contacts&amp;gt;More&amp;gt;Advanced there is an option Backup To MS. Use that. Then copy the vcf file from the memory card to your computer. Now open up &lt;a href="http://google.com/contacts"&gt;google.com/contacts&lt;/a&gt;&amp;nbsp;on your PC browser. Click the Import link on the extreme right. Now upload the VCF file.&lt;br /&gt;
Next, on your X10 mini. Choose Settings. Scroll down and click Contacts. Wait, you'll see all your contacts soon on the phone.&lt;br /&gt;
You must have an active GPRS/EDGE/3G/WiFi connection for this feature to work.&lt;br /&gt;
&lt;br /&gt;
2. How to configure GPRS access?&lt;br /&gt;
Menu&amp;gt;Setings&amp;gt;Wireless Controls&amp;gt;Mobile Networks&amp;gt;Access Point Names&lt;br /&gt;
Now press the first key, i.e. the first of the three keys on the phone below the touch screen. Tab New APN.&lt;br /&gt;
Put the name of APN, for example Virgin Mobile&lt;br /&gt;
Put APN as the APN of your service provider, like vinternet.in&lt;br /&gt;
If your service provider requires a proxy, then fill it up. Leave other fields blank.&lt;br /&gt;
&lt;br /&gt;
3. Troubleshoot GPRS&lt;br /&gt;
Sometimes you may notice that you aren't able to see the E or G signal. Go to the APN setting, scroll down to the bottom and check the APN Type field. If its blank, then its fine else blank it.&lt;br /&gt;
&lt;br /&gt;
4. How to lock your phone from unauthorised use?&lt;br /&gt;
Menu&amp;gt;Settings&amp;gt;Security &amp;amp; Location and turn on the Require Pattern field. Now you can create a locking pattern for unlocking your phone sceen when required, instead of typing a secret number as you might have used inyour old phones.&lt;br /&gt;
&lt;br /&gt;
5. How to enable third party on screen keyboard like ThickButtons?&lt;br /&gt;
Menu&amp;gt;Settings&amp;gt;Locale and Text. There tick mark ThickButtons. Now come back to messaging or browser or any app that has a text field. There long tap the text field. Long tapping means keep your finger on the field for a few seconds. You'll get a menu, just choose ThickButtons there.&lt;br /&gt;
&lt;br /&gt;
6. Secret codes?&lt;br /&gt;
&lt;br /&gt;
First: Press&amp;nbsp;*#*#4636#*#*&amp;nbsp;&amp;nbsp;on the dial pad to reveal a secret menu.&lt;br /&gt;
&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 13px;"&gt;Second: When phone is in locked state, press a key. You will see the prompt to push the option key to unlock but do NOT unlock the phone.&lt;br style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: auto; margin-right: auto; margin-top: 0px; text-decoration: none;" /&gt;Next, press the key sequence below in the order provided when the "unlock now" screen is still visible:&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 13px;"&gt;Middle-&amp;gt;Right-&amp;gt;Right-&amp;gt;Middle-&amp;gt;Right-&amp;gt;Middle-&amp;gt;Middle-&amp;gt;Right&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 13px;"&gt;7. Android Versions&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 13px;"&gt;1.5 -&amp;gt; Cupcake&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 13px;"&gt;1.6 -&amp;gt; Donut(In X10 Mini)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 13px;"&gt;2.1 -&amp;gt; Eclair&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 13px;"&gt;2.2 -&amp;gt; FroYo(Frozen Yoghurt)&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-9169870896735465315?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/l5cJ6uLuykw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/9169870896735465315/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=9169870896735465315" title="43 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/9169870896735465315?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/9169870896735465315?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/l5cJ6uLuykw/sony-ericsson-xperia-x10-mini.html" title="Sony Ericsson XPERIA X10 Mini" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_5M2InawvccI/TGnjCioI14I/AAAAAAAAAhM/HoAn_1i9_3M/s72-c/44379_429057788389_35313373389_4730086_5457928_n.jpg" height="72" width="72" /><thr:total>43</thr:total><feedburner:origLink>http://www.techbite.in/2010/08/sony-ericsson-xperia-x10-mini.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUASX46fyp7ImA9WxFbEEU.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-1634473330827061523</id><published>2010-06-21T13:02:00.001+05:30</published><updated>2010-07-02T21:44:08.017+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-02T21:44:08.017+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Fun" /><category scheme="http://www.blogger.com/atom/ns#" term="Lifestyle" /><title>10 constructive ways to spend time on internet</title><content type="html">&lt;div class="posterous_autopost"&gt;Internet has infested our life to an unseparable extent. Most of the people feel they waste their precious time on the internet on social networks(read Facebook). For all such people I'm suggesting some constructive ways to INVEST(not spend or waste :P) their time. Constructive in the sense that these actions will lead to your personality/knowledge/IQ/skills growth. :)&lt;br /&gt;
&lt;b&gt;1. &lt;/b&gt;&lt;a href="http://answers.yahoo.com/" target="_blank" title="Yahoo! Answers"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;b&gt;Yahoo! Answers&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
Man, what a wonderful platform they've created for knowledge sharing!! You can ask questions and provide answers. The questions are available in myriads of categories, from Arts to Sciences, from Humanity to Relationships, from Cooking to Religions etcetera etcetera... In fact, any question you can think off can be put to a suitable category. Especially for students they have Science and Mathematics, Computers &amp;amp; Internet, Arts and several other fields. So you're stuck at an assignment or homework? Just ask! Or, you think you are one among the intellectual force of your country? Then answer others' questions according to your interest in relevant categories. This not only improves your knowledge but also gives self satisfaction as well as entertainment. When someone rates your answer as the best answer, you feel proud :) &lt;a href="http://answers.yahoo.com/" target="_blank" title="Click here"&gt;Click here&lt;/a&gt; to visit Yahoo! Answers. You need a Yahoo! ID to access Yahoo! Answers.&lt;br /&gt;
&lt;b&gt;2. &lt;/b&gt;&lt;span style="text-decoration: underline;"&gt;&lt;b&gt;Are you a programmer?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Well yeah, if you are and you think you are one of those rare programmers with all the fundamental concepts of programming then a perfect place for you is &lt;a href="http://stackoverflow.com/" target="_blank" title="stackoverflow.com"&gt;stackoverflow.com&lt;/a&gt;. The site doesn't require registration. You just need an account with any &lt;a href="http://en.wikipedia.org/wiki/OpenID" target="_blank" title="OpenID"&gt;OpenID&lt;/a&gt; provider. A GMail account is perfect :) Once you get in, you can answer questions from fellow programmers/students all over the world from all kinds of languages. As you answer perfect replies, your reputation increases and you earn badges. Its such a fun!!! &lt;a href="http://stackoverflow.com/" target="_blank" title="Click here"&gt;Click here&lt;/a&gt; to check it out.&lt;br /&gt;
&lt;b&gt;3. &lt;span style="text-decoration: underline;"&gt;Read blogs&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Blogging is a boon to the Web 2.0! People got a way to express themselves, with a true freedom of expression. You can just go to &lt;a href="http://blogsearch.google.com/" target="_blank" title="Google Blog search"&gt;Google blog search&lt;/a&gt; and find blogs of your interest. You may also search good blogs from popular blog directories like &lt;a href="http://technorati.com/blogs/directory/" target="_blank" title="TechnoRati"&gt;TechnoRati&lt;/a&gt;, &lt;a href="http://www.blogcatalog.com/" target="_blank"&gt;BlogCatalog&lt;/a&gt;, &lt;a href="http://www.bloghub.com/" target="_blank"&gt;BlogHub&lt;/a&gt; and &lt;a href="http://www.bestblogs.org/" target="_blank"&gt;BestBlogs&lt;/a&gt;. If you are a technology lover here are some must read blogs:&lt;br /&gt;
&lt;a href="http://lifehacker.com/" target="_blank"&gt;http://lifehacker.com&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://gigaom.com/" target="_blank"&gt;http://gigaom.com&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://mashable.com/" target="_blank"&gt;http://mashable.com&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://techcrunch.com/" target="_blank"&gt;http://techcrunch.com&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;4. &lt;/b&gt;&lt;span style="text-decoration: underline;"&gt;&lt;b&gt;Research&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Did you get stuck at something some day and left midway? Then start researching on the topic using the web and complete your venture! It happens sometimes with all of us. We start doing something and due to a problem encountered midway we are unable to accomplish the task and leave it incomplete. For me, not finishing an in-progress work is sin!!! So, I just use te web, search for solutions and finish the work.&lt;br /&gt;
&lt;b&gt;5.&lt;/b&gt; &lt;span style="text-decoration: underline;"&gt;&lt;b&gt;Contribute to an OpenSource project&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
So you are that self-proclaimed great programmer? Go and give a chance for your skills to come outta your brain! You can contribute to any open sopurce project for the betterment of mankind at sites like &lt;a href="http://code.google.com/" target="_blank"&gt;Google Code&lt;/a&gt; or &lt;a href="http://sourceforge.net/" target="_blank"&gt;SourceForge&lt;/a&gt;&lt;br /&gt;
&lt;b&gt;6. &lt;/b&gt;&lt;span style="text-decoration: underline;"&gt;&lt;b&gt;Edit a WikiPedia article&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://en.wikipdia.org/" target="_blank"&gt;WikiPedia&lt;/a&gt; makes our life easier. Any thing new pops up, we just get to its WikiPedia page and find extremely high quality information on the topic. But who makes this possible? Yeah, we the users. WikiPedia is driven by the community of people who add and edit articles on it. If you have a flare for writing good quality, precise and clear english then start or edit an article on WikiPedia. For this you need to create an account with them. The account creation link can be found at top right corner of their &lt;a href="http://en.wikipedia.org/" target="_blank"&gt;main page&lt;/a&gt;.&lt;br /&gt;
&lt;b&gt;7. &lt;span style="text-decoration: underline;"&gt;Start a blog&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
If you already have a blog then skip this paragraph. Most people think they can't write and thats why they don't start blogs. Everyone can write!!! If you've an year or more experience of using internet then chances are pretty high that you can endup writing good quality original content on your blog. Choose any particular motto of your blog and start. Once you start, you will have several ideas for posts that you can create. Just don't be lazy, thats the only condition. Try this at least once! For blogging, &lt;a href="http://blogger.com/" target="_blank"&gt;Blogger&lt;/a&gt;, &lt;a href="http://wordpress.com/" target="_blank"&gt;Wordpress&lt;/a&gt; and &lt;a href="http://posterous.com/" target="_blank"&gt;Posterous&lt;/a&gt; are awesome and free platforms. Just give it a try and jump into the blogging arena!&lt;br /&gt;
&lt;b&gt;8. &lt;span style="text-decoration: underline;"&gt;Translate facebook into your language&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Facebook has a pretty good translation application through which you can easily translate it into your language. The users themselves can translate and help facebook be available in their language. I actively translated it in Hindi for a few weeks but currently due to being away from broadband access, I'm on a halt and resume it once I get hold of fast internet access. The translation application can be accessed at &lt;a href="http://www.facebook.com/translations/" target="_blank"&gt;http://www.facebook.com/translations/&lt;/a&gt; For inputting text in Hindi you can use &lt;a href="http://www.google.com/transliterate/" target="_blank"&gt;Google Transliterate&lt;/a&gt; where you can write phonetic spelling of a non-english word in english and it will display the word in your language for you! Or even fast is the desktop application for transliteration which can be downloaded from &lt;a href="http://www.google.com/ime/transliteration/help.html" target="_blank"&gt;http://www.google.com/ime/transliteration/&lt;/a&gt; through which you can directly input in your language by typing its phonetic spelling in English. Go, give it a try!&lt;br /&gt;
&lt;b&gt;9. &lt;span style="text-decoration: underline;"&gt;How about some entertainment?&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
Entertainment energizes the mind. So, isn't it a catalyst for being constructive? Go and read &lt;a href="http://failblog.org/" target="_blank"&gt;failblog.org&lt;/a&gt; You won't be able to stop your laughter!&lt;br /&gt;
&lt;b&gt;10. &lt;span style="text-decoration: underline;"&gt;Be nostalgic&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
So, everything failed? Be nostalgic! How? Go to your GMail inbox and start reading the mails from the last page!!!! This really works(provided you have a fairly old account). Or you may also start reading last page of your orkut scrapbook or facebook wall.&lt;br /&gt;
&lt;div style="font-size: 10px;"&gt;&lt;a href="http://posterous.com/"&gt;Posted via email&lt;/a&gt;  from &lt;a href="http://p97.posterous.com/10-constructive-ways-to-spend-time-on-interne"&gt;Prabhakar Kumar's Blog&lt;/a&gt; &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-1634473330827061523?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/OHyQPJHMYaI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/1634473330827061523/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=1634473330827061523" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/1634473330827061523?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/1634473330827061523?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/OHyQPJHMYaI/10-constructive-ways-to-spend-time-on.html" title="10 constructive ways to spend time on internet" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://www.techbite.in/2010/07/10-constructive-ways-to-spend-time-on.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYERn4yfip7ImA9WxFbEEU.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-923470208456714636</id><published>2010-06-10T10:55:00.000+05:30</published><updated>2010-07-02T21:41:47.096+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-02T21:41:47.096+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Innovations" /><title>Wind powered cellphone charger</title><content type="html">While travelling with Indian Railways, sometimes especially during  long journeys I experience my phone's battery falling short of electron  flow. Although in AC boggies they provide charging points near every  berth but not everyone always travels in AC boggies. In sleeper boggies,  in most trains they do provide 4 charging points in every boggy but  they aren't enough and occupied most of the time by rogues who keep  listening to music in full volume with their phones' speakers while  charging, hence not letting others charge their phones.&lt;br /&gt;
One such situation at hand, and the inquisitive me started thinking  of something cool that would work perfectly. I stood at the gate of my  boggy feeling the wind at 100KM/hr(that was train's direction in east,  so wind's velocity for me was 100KM/hr in the west) with my palm, and  then came the EUREKA moment!!!! A smile spread throughout my face. Yeah,  I had got the idea! Why not someone build a portable wind powered  mobile charger?&lt;br /&gt;
How will it work? There can be a wheel with blades which will rotate  fast when wind strikes it. The wheel and axle machanism should be  connected to a dynamo, a small one used in bicycles for lighting. A  12V/3W will work perfectly. Now the passenger can take his/her hands out  of the window or may even stand at the exit gate holding the whole  thing in his/her hand. When wind falls on the wheel, it rotates, in turn  rotating the dynamo axle which produces an alternating current. Using a  rectifier it can be converted to DC. A capacitor with appropriate  specifications can be used to smoothen the waveforms produced by the  rectifier. This output can be fed to a IC7805 which stabilises the  voltage at 5V DC which is required by most mobile phones for charging.  Take this output, connect it to a multi-model pin connector which can be  used to charge any brand's phone. Now pack this whole makeup in a cool  looking case, label it and sell it!!!! Done! Earn loads of money.&lt;br /&gt;
It will be very helpful for the travellers who can very practically  stay online during long journeys keeping their cellphones charged :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-923470208456714636?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/DeMBJtIARdM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/923470208456714636/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=923470208456714636" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/923470208456714636?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/923470208456714636?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/DeMBJtIARdM/wind-powered-cellphone-charger.html" title="Wind powered cellphone charger" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.techbite.in/2010/07/wind-powered-cellphone-charger.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04DQXo8fip7ImA9Wx9TFUs.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-5248585420654533324</id><published>2010-06-06T15:17:00.003+05:30</published><updated>2010-11-24T08:02:50.476+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-11-24T08:02:50.476+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Interview" /><category scheme="http://www.blogger.com/atom/ns#" term="My Life" /><category scheme="http://www.blogger.com/atom/ns#" term="Institutes" /><title>IIIT-Allahabad M.Tech selection process</title><content type="html">With this article, I'll acquaint the reader with the full interview process of IIIT-Allahabad M.Tech Course in Software Engineering, linking with my own experience of my selection.&lt;br /&gt;
&lt;br /&gt;
After an initial shortlisting based on GATE scores, &lt;a href="http://www.iiita.ac.in/pub/MTech-EE2010.pdf"&gt;names of 148 students&lt;/a&gt; were posted on &lt;a href="http://www.iiita.ac.in/"&gt;their site&lt;/a&gt; who were called for the Written Test + Coding Test to be held on 1st of June and Interview of qualified students on 2nd. I received my admit card 7 days before the test. Kudos to Bharatiya Daak for their crappy service, a friend of me had received 15 days ago.&lt;br /&gt;
&lt;br /&gt;
I reached Allahabad on 31st May night, and stayed at a relative's residence. On 1st June I reached IIIT-A campus at around 8:30. The auto-fare from station is just Rs.5 so don't think that being in the outskirts of the city it is very far as mentioned in Admit Card that the fare would be Rs.70-100. I guess, it is around 7-8 kilometers from railway station.&lt;br /&gt;
I was greeted by the guards, who were very co-operative. I was directed towards the boys hostel. I entered the mess. To my surprise, it was completely Air Conditioned and very well maintained and clean. I drank some water and cooled myself, as the North Indian heat had struck me on the way hard! Yes, at 8:30AM it was very hot in Allahabad! I believe, the temperature was 42+ at that time! In the mess itself I met my net friend Shailesh Sharma who too was shortlisted and had arrived for the admission process. We had got introduced to each other through this blog itself through my post &lt;a href="http://p97.blogspot.com/2010/02/gate-2010-cs-solutions.html"&gt;GATE-2010 Solutions&lt;/a&gt;. I got introduced to his friend Vipin and we were now a group of three! At 9:30 we headed out towards the academic campus. Our written test started at 10.&lt;br /&gt;
The paper consisted of 100 objective questions to be solved in three hours. There were tricky questions from C, followed by Java, some very easy questions from data structures, some easy ones from SQL, and then from software engineering. Overall, the paper was deviating 80% from the provided syllabus. In first 20 minutes, C questions had trapped me and I had solved only 10 of them. Later I changed my gear and by the end of 50 minutes, I had marked all 100 questions. There was no negative marking so there was no fear of wrong answers. Marking the answers on the answer sheet took me another 40 minutes because of bigger bubbles and use of ball point pen for filling the bubbles. The question paper lacked quality standards. There were inconsistent questions, and weird ones too. Some seemed to have wrong options too. Anyways, we finished. I believe, I must have got around 70 questions right. We headed out for lunch.&lt;br /&gt;
&lt;br /&gt;
At 2PM we went for the coding test. The lab had computers running Windows and Linux(Ubuntu 9.04). Student was free to choose his/her environment. I chose windows thinking that they may put me on &lt;a href="http://en.wikipedia.org/wiki/Vi"&gt;vi&lt;/a&gt; editor if I chose Linux and as I am not much comfortable with vi, as well as touch typing. I saw that there was no CUI, but a GUI environment had been provided on Linux systems so I switched to a Linux system thinking about the added advantage of synatx highlighting of &lt;a href="http://en.wikipedia.org/wiki/Gedit"&gt;gedit&lt;/a&gt;. Windows people had option to use Turbo C++, or Microsoft Visual C++ or Dev C++. Linux users had good old GCC.&lt;br /&gt;
All the computers were on LAN and we had to open a URL in our browsers where Online Judge software was running. The software was coded in PHP. We had to upload the source file after coding. The compilation and evaluation on random inputs was to be done by the software itself. If the software was satisfied with our code it would give us points. But there was a catch. The way of giving input was pre-specified and exactly the program was required to receive input that way only. And the required output too was given in a pre-specified manner. This was because the code was run by a script, not a human being. Being dumb, a script can't accept anything deviating even slightly from the specified standards.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5M2InawvccI/TAtnmZV9BEI/AAAAAAAAAgA/lBGciPLYENs/s1600/DSC00055.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5M2InawvccI/TAtnmZV9BEI/AAAAAAAAAgA/lBGciPLYENs/s320/DSC00055.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
There were three questions in the paper. First was of 20 marks. Second one of 35 and third one of 45 marks. The time alotted was 3 hours. The questions were easy but I felt that I'll have problems in designing the input module because the language to be used were C or C++. I thought, if I were allowed to use &lt;a href="http://en.wikipedia.org/wiki/PHP"&gt;PHP&lt;/a&gt;, I would churn out these questions within 5 minutes each. &lt;a href="http://php.net/manual/en/function.explode.php"&gt;explode()&lt;/a&gt; function in PHP would easily let me process the input, the way I wanted. But I had to work with C and there was no explode. I was unable to take the input in required form and put it into a data structure for further processing and output. I coded the processing and output modules for 1st and 3rd questions but couldn't code the input module. Then I attacked the 2nd question and cracked it easily. I was sweating heavily in the Air Conditioned lab. As soon as my 2nd question's answer was accepted by the script I took a sigh of relief.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5M2InawvccI/TAtoT1ejmTI/AAAAAAAAAgI/nKxef11Zejw/s1600/DSC00054.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5M2InawvccI/TAtoT1ejmTI/AAAAAAAAAgI/nKxef11Zejw/s320/DSC00054.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I checked the time and 2 and half hours had passed already. I checked the current results. This facility was provided by the Online Judge software. We could see which student had submitted correct answers. There was one girl at rank 1 who had solved 2 questions i.e. 1 and 3. She had 65 points. I was at rank 2 with 35 marks because 2nd question was worth 35 marks. There were 15 students behind me, each with 20 marks, who had solved the first question. Out of the rest, noone else could solve any program!!!&lt;br /&gt;
I re-attacked the 3rd question to process the input anyhow. I cursed myself for forgetting the &lt;a href="http://www.cplusplus.com/reference/clibrary/cstring/strtok/"&gt;strtok()&lt;/a&gt; function's syntax which would easily let me solve the 1st and 3rd questions. Strtok() works a bit similar to the explode() function in PHP. I thought I should code my own explode() function in C and I started off for the same. I reached very near but the time was up, by then! I checked current rankings. I was still at rank 2, behind that girl.&lt;br /&gt;
The authorities announced that those whose programs were running manually but were not accepted by the Online Judge software could get their programs verified by invigilators and get some marks. Many students who were not in Online Judge's ranking list raised their hands and were getting their programs verified. Some claimed that they have solved all three but none was accepted by online judge. I thought in my mind, even if they get more marks and I get rejected I'm still a better programmer than them because my program followed the standard defined in the problem. Anyways, the process ended after sometime. We were advised to wait for an hour for the declaration of result. We roamed through the college. At around 7PM the result was declared. Out of 148 appeared, 56 were shortlisted for the interview to be carried out next day. I was there in the list!&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/TAtpMD98FqI/AAAAAAAAAgQ/_3TXXR8HPwU/s1600/DSC00045.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5M2InawvccI/TAtpMD98FqI/AAAAAAAAAgQ/_3TXXR8HPwU/s320/DSC00045.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Shailesh and Vipin too were there. We bid good night and parted away happily thinking about the next day.&lt;br /&gt;
On 2nd day, we reached for the judgement day! Everyone was in formals. We were made to sit in the auditorium from where we were called for the interview one by one based on the roll number. My roll no. was 142 so I was relaxed that my interview will take time. First Vipin was called, being early in the sequence, followed by Shailesh. Finally my turn came. My interview went very pathetic. When I was asked 'tell me about yourself', I mentioned about IndiFun. Then I was asked 5 questions from the theory of social networking each going well above my head.&lt;br /&gt;
Then I was caught by another interviewer who was a guest lecturer from IIT Khargapur. He asked me my favourite subject. I said - databases! He asked me to define functional dependency. I spoke: an attribute B is said to be functionally dependent on an attribute A if for each unique value of A there exists a unique value in B. Then he asked, what is the mathematical term for that. Within a fraction of second I recalled about functions and two obvious answers came to my mind - one one, and one one onto. I was also frustrated due to the early 5 questions that had gone beyond me. I spoke one one onto and felt that I've made a blunder!!! He asked, where did you read this? I said Elmasri and Navathe. Then after a pause of a second, I continued, I read about functional dependencies in Elmasri and Navathe but not the fact that this is one one onto function. Then he asked, considering functional dependency define 3NF. I got confused over 3NF and BCNF. I started speaking about BCNF then stopped, beg pardon and said a table is in 3NF if it is in 2NF and every non-key attribute is non-transitively dependent on all the candidate keys. He said go.&lt;br /&gt;
I went out thinking about those 5 questions that hit me in a row. I thought I don't need to see the result, as I won't be selected. But a hope kept me on. The result was declared at 7. Out of 56, there were 15 selected in General category! My name was there at 9th position in the &lt;a href="http://www.iiita.ac.in/pub/SE_EE10FinalResult.pdf"&gt;alphabetically sorted list&lt;/a&gt;!&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5M2InawvccI/TAttXKihQfI/AAAAAAAAAgY/gvUH1y2F1DU/s1600/DSC00051.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5M2InawvccI/TAttXKihQfI/AAAAAAAAAgY/gvUH1y2F1DU/s320/DSC00051.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
I had a sigh of relief! Finally I got into an India level institution. Shailesh and Vipin too made into the 15 lucky people list. I believe the final result was made up based on GATE score, written test score, coding test score and interview, where interview had a lesser weightage. If it had higher weightage, I would have definitely been ousted!&lt;br /&gt;
Our classes are going to start from July 9th. That was my experience with IIIT-A selection process :) Will keep you posted with the further developments in my life/career.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-5248585420654533324?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/gwJd_NemBOs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/5248585420654533324/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=5248585420654533324" title="15 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/5248585420654533324?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/5248585420654533324?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/gwJd_NemBOs/iiit-allahabad-mtech-selection-process.html" title="IIIT-Allahabad M.Tech selection process" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_5M2InawvccI/TAtnmZV9BEI/AAAAAAAAAgA/lBGciPLYENs/s72-c/DSC00055.JPG" height="72" width="72" /><thr:total>15</thr:total><feedburner:origLink>http://www.techbite.in/2010/06/iiit-allahabad-mtech-selection-process.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkEGR34-cCp7ImA9WxFWGEw.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-3566591844045549653</id><published>2010-06-06T14:22:00.001+05:30</published><updated>2010-06-06T14:27:06.058+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-06-06T14:27:06.058+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="My Life" /><category scheme="http://www.blogger.com/atom/ns#" term="Government" /><title>For Indian Railways</title><content type="html">This is to draw the kind attention of competent authorities in Indian Railways.&lt;br /&gt;
I, on behalf of student community, and as a proud and aware citizen of India, want to draw the attention of proper and competent authorities towards the fraud and corruption looming large in IRCTC catered service which is leading to the plight of passengers, especially those travelling in Sleeper Class. I'm also incorporating some suggestions, which if implemented will result in better customer satisfaction.&lt;br /&gt;
&lt;br /&gt;
1. &lt;b&gt;&lt;u&gt;Water&lt;/u&gt;&lt;/b&gt;: As far as I know, it was made mandatory that IRCTC would sell only &lt;i&gt;Rail Neer&lt;/i&gt; branded mineral water bottles in the train. May be I'm wrong about this fact, I've experienced personally that the water/drink vendors are selling all brand waters except Rail Neer. I ask for Rail Neer and they say, it's not available, take Bailey or IceLing or Yes. I won't mind if the quality of water is good for the same price of Rs.12. But, the striking thing I saw that those small kids, powered by a racket of anti-social people, who collect thrown water bottles from railway track on stations, fill water from anywhere they like, get it sealed and pass to the IRCTC approved vendors. The vendors as well as the racket involved in this share half of the revenues. What the customer is getting? Unhygienic water in unhygienic bottles paying Rs.12. The mistake is from customer side also. As mentioned on the bottles please &lt;i&gt;DO CRUSH THE BOTTLE AFTER USE IF YOU AREN"T CARRYING IT HOME&lt;/i&gt;. This is for your own good dear common man!&lt;br /&gt;
&lt;br /&gt;
2. &lt;b&gt;&lt;u&gt;Tatkal Seva&lt;/u&gt;&lt;/b&gt;: Your tatkal reservation scheme is completely wtf!!! The first and foremost thing is that, at 8AM IST &lt;a href="http://irctc.co.in/"&gt;irctc.co.in&lt;/a&gt; stops responding so internet reservation is next to impossible for the stupid common man. What I see is &lt;i&gt;503 SERVICE UNAVAILABLE&lt;/i&gt;. Now, you railway guys would say that you can get the reservation on the station. Ok, I agree. But see what happens. When I reach the station at 7:00 AM and stand in the queue, I see at least 20 people ahead of me. I repeated the same experiment next day at 6:00AM. Then too I had at least 15 people ahead of me. So, I thought let me be a good citizen and wait for my turn. Finally I reached to the front of the queue at about 8:10 and the teller told me the status is W/L 60. What the -? A man roaming like a pig in the vicinity came to me and offered the ticket for Rs.1200. I identified him and was surprised that he was in the queue when I had reached there at 6AM. I refused and headed towards exit without getting a ticket. During the next 20 meters of walking I was offered ticket for prices ranging from Rs.900 to Rs.1200. And they were all those who were in the queue at 6AM. To sum up, there is a racket which keeps its agents at stations from time varying between 4AM and 6AM to be in the queue for tatakal tickets for most sought for destinations. How can you control this blackmarketing?? Can't you get your IRCTC server right, so that people may get tatkal e-tickets? And then it will be very difficult to black e-tickets because the traveller has to present his/her ID card with name matching with the name on the e-ticket and reservation chart. This step will put a check on those ticket blackmarketer rackets. All the crap in your tatkal seva is especially frustrating students and other people who get to travel urgently very often.&lt;br /&gt;
&lt;br /&gt;
3. Recently you've introduced the fares in front of each train in the list of trains that come up when anyone queries for Availability of seats(in case you don't know station codes) on &lt;a href="http://indianrailways.gov.in/"&gt;indianrailways.gov.in&lt;/a&gt;. One suggestion from me, can't you show the availability as well along with the fair? If you can't, then freaking upgrade your servers and start doing right away you public money looters!!!&lt;br /&gt;
&lt;br /&gt;
4. On &lt;a href="http://indianrail.gov.in/"&gt;indianrail.gov.in&lt;/a&gt;, any action I perform, even clicking a text box to put the cursor into it, results into opening up of an ad from admagnet.com. Have you designed the site for public convenience or public harassment??? You earn from our ticket fares and you the greedy lot want to earn more and more by giving us inconvenience in the form of those nasty popups??? And who the freaking fool gave you WebRatna-2009 award for public service? 'sab ek hee thaili ke chatte batte hain'. Cut this crap in good faith right away!!!&lt;br /&gt;
&lt;br /&gt;
5. This is for Mrs. Mamta Banerjee, honourable Rail Minister. Lalu uncle did only one good reform during his tenure, and that was putting up a middle berth between side upper and side lower berths in sleeper class. It was itching you at the back, and you got all those removed saying that this causes inconvenience to passengers. Have you ever travelled in sleeper class? The people in the waiting list travel by sleeping in front of lavatory doors and in the space between the entry gates of every boggy. Thats not inconvenience according to you. Right? And sleeping on the side middle berth is inconvenience according to you. Very good IQ you have ma'm! Salutes to you! If there had been this, side middle berth thingy, per boggy 8 passengers and per train more than 100 waitlisted passengers would get a confirmed berth to sleep in the night, instead of laying their bedsheets below water basin between the two gates in every boggy.&lt;br /&gt;
&lt;br /&gt;
6. This mobile charging point thing, at the gates of every boggy in sleeper class has become a menace. Rogues only charge their mobiles. They start the travel with their mobile's batteries discharged thinking 'Bhartiya rail hamari sampatti hai'. This is total inconvenience to the needy passengers who don't want to talk to those rogues. Can't you get those charging points in every compartment, just like they are in AC boggies?&lt;br /&gt;
&lt;br /&gt;
7. This one is for Amul. Have you guys ever thought that why Pepsi/Coke/Thumsup/Sprite sell 100 times more than your lassi, in trains even though your lassi is tastier and nourisher than those MNC carbonated water? Give a thought! Lower your prices. You are selling them at Rs.20 for 200ml. They sell for Rs.10 for 200ml. Can't you lower your prices? Don't say that it won't be affordable for you. Nandini lassi in Karnataka is available for Rs.5 for 200ml. Instead of trying to earn more by higher margins per unit, you should keep lower margins and sell more units instead. This will give you better returns. I hate those cola companies who are drawing Indian water and selling to Indians for high prices.&lt;br /&gt;
&lt;br /&gt;
I'll keep coming up with more whenever I feel like finding something new with Railways.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-3566591844045549653?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/pw5CjZuzI84" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/3566591844045549653/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=3566591844045549653" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/3566591844045549653?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/3566591844045549653?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/pw5CjZuzI84/for-indian-railways.html" title="For Indian Railways" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://www.techbite.in/2010/06/for-indian-railways.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08HRnw6eip7ImA9WxFXEks.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-2185939265022765761</id><published>2010-05-19T12:53:00.005+05:30</published><updated>2010-05-19T17:20:37.212+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-19T17:20:37.212+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Study" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Assignments" /><title>How to use &lt;conio.h&gt; with GCC</title><content type="html">&lt;b&gt;This article will teach you how to use &amp;lt;conio.h&amp;gt; header file while programming in C under linux environment with GCC, and getting unbuffered input from the user.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Most of the students are taught C/C++ with Turbo C/C++ IDE in schools. Turbo C has a header file(unspecified in ANSI standard) &amp;lt;conio.h&amp;gt; with which programmer can program for unbuffered input using functions like getch(). Also there are other functions like gotoxy() etc. which work perfect in DOS environment with Turbo C.&lt;br /&gt;
After they learn about linux, and then &lt;a href="http://www.google.co.in/url?sa=t&amp;amp;source=web&amp;amp;ct=res&amp;amp;cd=1&amp;amp;ved=0CBwQFjAA&amp;amp;url=http%3A%2F%2Fgcc.gnu.org%2F&amp;amp;ei=dYjzS-GpJcaGrQf8goXHDQ&amp;amp;usg=AFQjCNGXyXjL2L1or5cm-eSxkSEDN_xoXQ"&gt;GCC&lt;/a&gt;&amp;nbsp;they start practicing in linux. If you are such an student, read on. This will be handy for you.&lt;br /&gt;
At some point of time you will write a program in which you want interactive user input from the user. Interactive in the sense that you want an action to be performed as soon as a key is pressed. But since standard library function getchar() buffers the input until ENTER key is pressed, it will be quite irritating for you. So, you'll miss your &amp;lt;conio.h&amp;gt; header file that you used in Turbo. Don't worry. I faced the same problem and I ran around like everything to find a soluion. And finally, I found a solution!!!&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;u&gt;Solution&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;u&gt;&lt;/u&gt;&lt;/b&gt; Just download the &lt;i&gt;libconioh &lt;/i&gt;from &lt;a href="http://sourceforge.net/projects/linux-conioh/"&gt;this link&lt;/a&gt;&lt;br /&gt;
Install it. Here are the steps(I'm considering Ubuntu as the example):&lt;br /&gt;
1. Copy the downloaded archive to your home folder&lt;br /&gt;
2. Open the terminal, by pressing &lt;i&gt;Alt+F2&lt;/i&gt; and typing &lt;i&gt;xterm&lt;/i&gt; and pressing enter.&lt;br /&gt;
3. Become &lt;i&gt;root &lt;/i&gt;by typing&lt;br /&gt;
&lt;blockquote&gt;sudo -s&lt;/blockquote&gt;and supplying your password.&lt;br /&gt;
4. Type&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;tar -zxvf libconio-1.0.0.tar.gz &lt;/blockquote&gt;and press enter to extract the archive. To make the typing easy you may press the &lt;i&gt;&amp;lt;tab&amp;gt;&lt;/i&gt; key on your keyboard after typing &lt;i&gt;l&lt;/i&gt; of &lt;i&gt;libconio-1.0.0.tar.gz&lt;/i&gt; for autocompletion of filename.&lt;br /&gt;
5. Now enter into the extracted directory by typing&lt;br /&gt;
&lt;blockquote&gt;cd libconio-1.0.0&lt;/blockquote&gt;and pressing enter.&lt;br /&gt;
6. Install the library by typing these commands one after another's execution.&lt;br /&gt;
&lt;blockquote&gt;./configure&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;make&lt;/blockquote&gt;&lt;blockquote&gt;&lt;br /&gt;
&lt;/blockquote&gt;&lt;blockquote&gt;make install&amp;nbsp;&lt;/blockquote&gt;&amp;nbsp;Now the library has been installed. How to use it for programming?&lt;br /&gt;
Just &lt;i&gt;#include &amp;lt;conio.h&amp;gt; &lt;/i&gt;in your program. And when compiling your program(eg. myprogram.c in current working directory) using gcc give the library's detail to the linker like this:&lt;br /&gt;
&lt;blockquote&gt;gcc myprogram.c -lconio&lt;/blockquote&gt;You will get the a.out file if your program doesn't have any errors.&lt;br /&gt;
Execute it and enjoy!&lt;br /&gt;
&lt;blockquote&gt;./a.out&lt;/blockquote&gt;But what did that &lt;i&gt;-lconio &lt;/i&gt;did? See, in gcc the source files and object library files can be linked&amp;nbsp;by specifying them back to back. Like:&lt;br /&gt;
&lt;blockquote&gt;gcc file1.c file2.c lib1.a lib2.a&lt;/blockquote&gt;In linux the library files are with &lt;i&gt;.a &lt;/i&gt;extension and they are stored in /usr/lib/ directory with the name format &lt;i&gt;lib&lt;/i&gt;&amp;lt;&lt;i&gt;library_name&lt;/i&gt;&amp;gt;.&lt;i&gt;a &lt;/i&gt;. So when you installed &lt;i&gt;libconioh&lt;/i&gt;&amp;nbsp;it copied a file, named &lt;i&gt;libconio.la &lt;/i&gt;to the /usr/lib directory. Now you can compile and link your program that uses &lt;i&gt;conio.h&lt;/i&gt;&amp;nbsp;by this command&lt;br /&gt;
&lt;blockquote&gt;gcc myprogram.c /usr/lib/libconio.a&lt;/blockquote&gt;The &lt;i&gt;-l&lt;/i&gt; switch has been provided as a shortcut for your convenience. This &lt;i&gt;-l &lt;/i&gt;makes &lt;i&gt;conio&lt;/i&gt; to be&lt;i&gt;&amp;nbsp;&lt;/i&gt;read as &lt;i&gt;/usr/lib/libconio.a&amp;nbsp;&lt;/i&gt;hence when yo typed &lt;i&gt;gcc myprogram.c -lconio &lt;/i&gt;it was interpreted as &lt;i&gt;gcc myprogram.c /usr/lib/libconio.a &lt;/i&gt;. Now thats sweet! Isn't it?&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;br /&gt;
Here is a sample program that reads characters from the keyboard, displays the character just next to it(for example, if u enter &lt;i&gt;b&lt;/i&gt; it will display &lt;i&gt;c&lt;/i&gt;)&amp;nbsp;&amp;nbsp;and exits only when you press the small&amp;nbsp;&lt;i&gt;a&lt;/i&gt; key.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;#include &amp;lt;conio.h&amp;gt;&lt;/blockquote&gt;&lt;blockquote&gt;int main(){&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;char c;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;while((c=getch())!='a'){&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;putchar(c+1);&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;putchar('\n');&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 0;&lt;/blockquote&gt;&lt;blockquote&gt;}&amp;nbsp;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-2185939265022765761?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/5fumzafvYy8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/2185939265022765761/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=2185939265022765761" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/2185939265022765761?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/2185939265022765761?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/5fumzafvYy8/how-to-use-with-gcc.html" title="How to use &amp;lt;conio.h&amp;gt; with GCC" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>3</thr:total><feedburner:origLink>http://www.techbite.in/2010/05/how-to-use-with-gcc.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkENRHw_eip7ImA9WxFXEE8.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-1143163094909822476</id><published>2010-05-16T11:24:00.003+05:30</published><updated>2010-05-16T20:08:15.242+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-16T20:08:15.242+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Study" /><category scheme="http://www.blogger.com/atom/ns#" term="Programming" /><category scheme="http://www.blogger.com/atom/ns#" term="Assignments" /><title>Implementing a list data structure using an array, in C</title><content type="html">&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Long time since I interacted with C. I thought IIIT-A interviews are coming closer and they also have a coding test in which they ask to write programs, so I went off to revise data structures with C. I planned to study lists, linked lists, stacks, queues, trees and graphs and implement them all using C.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;The first one on the target was lists. So I started off and wrote a lists demo program. I'm posting the program below. It may come handy to you if you are a student searching something for your assignment.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Compile it in GCC. You may also compile on Windoze but I haven't tested on Windoze.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;The program allows to:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px;"&gt;Print all the values stored&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px;"&gt;Insert a new value at specified position&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px;"&gt;Insert a value at the end of the list(append)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px;"&gt;Delete a value at specified position&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px;"&gt;Delete all occurences of a value from the list&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px;"&gt;Find all occurences of an item&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: 13px;"&gt;Empty the list&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;I've also made the text colourful using the escape sequences for colours. Those &lt;b&gt;&lt;i&gt;\33[31m&lt;/i&gt;&lt;/b&gt;&amp;nbsp;things are for colouring the text displayed while executing the program.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;Here's the program.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;#define SIZE 65536&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;#define ENDMARKER -65535&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int data[SIZE];&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int print_all();&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int add(int pos, int datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int delete(int pos);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int append(int datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int delall(int datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int find(int datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int print(int pos);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int empty();&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int main(){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int pos, datum;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int option;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;data[0]=ENDMARKER;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\n\33[36mWelcome to the list data structure demonstration program! The program starts with a list of integers(initially empty). Through this program's interface, you can insert items into the list at desired positions, or at the end; delete an item from the list from an specific position, or all occurences of an item from the list; find the position(s) of an item in the list; view all the items of the list; view an item stored at a particular position; or you may also empty the list.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;while(option!='9'){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n\33[32mMenu\n----\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("1. View all the items");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n2. Add an item at a given position");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n3. Add an item at the end of the list");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n4. Delete an item at a given position");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n5. Delete all occurences of an item value");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n6. Print an item at the given position");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n7. Find all the occurances of an item");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n8. Empty the list.");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n9. Exit\nEnter your choice and hit the enter key:");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;scanf("%d",&amp;amp;option);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;switch(option){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;case 1:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;print_all();&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;case 2:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;printf("\n\33[33mPlease enter the position where item should be inserted: ");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;scanf("%d",&amp;amp;pos);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;printf("Please enter the item value to be inserted: ");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;scanf("%d",&amp;amp;datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;add(pos, datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;case 3:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;printf("\n\33[33mPlease enter the item value to be inserted at the end of the list: ");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;scanf("%d",&amp;amp;datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;append(datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;case 4:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;printf("\n\33[33mPlease enter the position of the item to be deleted: ");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;scanf("%d",&amp;amp;pos);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;delete(pos);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;case 5:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;printf("\n\33[33mPlease enter the item to be deleted from the list: ");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;scanf("%d",&amp;amp;datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;delall(datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;case 6:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;printf("\n\33[33mPlease enter the position of the item whose value is to be printed: ");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;scanf("%d",&amp;amp;pos);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;print(pos);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;case 7:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;printf("\n\33[33mPlease enter the item value whose position is to be found: ");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;scanf("%d",&amp;amp;datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;find(datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;case 8:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;empty();&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;case 9:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;printf("\n\33[34mThank you for using this program. Have a nice time!\n\33[37m");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;return(1);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;default:&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;printf("\n\33[31mInvalid use. Please retry.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\33[37m");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return (0);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int num_items(){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int num=0;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=0;data[i]!=ENDMARKER;i++);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return i;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int print_all(){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if(data[0]==ENDMARKER){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n\33[31mNo items could be found in the list.\nYou may insert some data first, before experimenting.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return 0;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\nFollowing items were found in the list:\n\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\33[35mPosition\tItem\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("--------\t----\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=0;data[i]!=ENDMARKER;i++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("%8d\t%4d\n",i,data[i]);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 1;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int add(int pos, int datum){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if((pos&amp;gt;num_items()) || pos&amp;lt;0){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n\33[31mYou can't enter an item at this location because the list is full upto %d position. You can enter items from 0th position upto %dth position.\n",num_items(),num_items());&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return (0);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;data[num_items()+1]=ENDMARKER;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=num_items();i&amp;gt;=pos;i--){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;data[i]=data[i-1];&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;data[pos]=datum;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\nThe item %d has been successfully inserted at the position %d.\nThe modified list is as follows.\n\n",datum,pos);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\33[35mPosition\tItem\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("--------\t----\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=0;data[i]!=ENDMARKER;i++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("%8d\t%4d\n",i,data[i]);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 1;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int append(int datum){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;data[num_items()+1]=ENDMARKER;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;data[num_items()]=datum;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\nThe item %d has been successfully appended to the list.\n The modified list is as follows.\n\n",datum);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\33[35mPosition\tItem\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("--------\t----\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=0;data[i]!=ENDMARKER;i++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("%8d\t%4d\n",i,data[i]);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 1;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int delete(int pos){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if((pos&amp;gt;num_items()) || pos&amp;lt;0){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n\33[31mThat location doesn't hold any data value. Please enter a location that contains a value. Locations from 0 up to %d hold data values.\n",num_items());&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return (0);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if(num_items()==0){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n\33[31mThe list is empty. No deletion possible.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return 0;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=pos;i&amp;lt;=num_items();i++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;data[i]=data[i+1];&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;data[num_items()]=ENDMARKER;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\nThe item stored at the position %d has been successfully deleted.\n The modified list is as follows.\n\n",pos);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\33[35mPosition\tItem\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("--------\t----\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=0;data[i]!=ENDMARKER;i++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("%8d\t%4d\n",i,data[i]);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 1;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int delall(int datum){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if(num_items()==0){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n\33[31mThe list is empty. No deletion possible.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return 0;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int found=0;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=0;i&amp;lt;=num_items();i++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if(data[i]==datum){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;found=1;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if(found==0){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\n\33[31mThe requested item wasn't found in the list. Deletion not possible.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return (0);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=0;data[i]!=ENDMARKER;i++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if(data[i]==datum){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;int j;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;for(j=i;data[j+1]!=ENDMARKER;j++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;    &lt;/span&gt;data[j]=data[j+1];&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;data[j]=ENDMARKER;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;i--;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\nAll the occurences of %d have been deleted from the list. The modified list is as follows:\n\n",datum);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\33[35mPosition\tItem\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("--------\t----\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=0;data[i]!=ENDMARKER;i++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("%8d\t%4d\n",i,data[i]);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 1;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int find(int datum){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int i;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if(num_items()==0){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n\33[31mThe list is empty.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return 0;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int found=0;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=0;i&amp;lt;=num_items();i++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if(data[i]==datum){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;found=1;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;break;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if(found==0){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\n\33[31mThe requested item wasn't found in the list.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return (0);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\n\33[35mPosition\tItem\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("--------\t----\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for(i=0;i&amp;lt;=num_items();i++){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;if(data[i]==datum)printf("%8d\t%4d\n",i,data[i]);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 1;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int print(int pos){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if(num_items()==0){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n\33[31mThe list is empty.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return 0;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if(pos&amp;lt;0 || pos&amp;gt;=num_items()){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n\33[31mThats an invalid location.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return 0;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\n\33[35mPosition\tItem\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("--------\t----\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("%8d\t%4d\n",pos,data[pos]);&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 1;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;int empty(){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if(num_items()==0){&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;printf("\n\33[31mThe list is already empty.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return 0;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;data[0]=ENDMARKER;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;printf("\nThe list has been successfully emptied.\n");&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return 1;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: Arial; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 13px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-1143163094909822476?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/NVcqQ8rdANw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/1143163094909822476/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=1143163094909822476" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/1143163094909822476?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/1143163094909822476?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/NVcqQ8rdANw/implementing-list-data-structure-using.html" title="Implementing a list data structure using an array, in C" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://www.techbite.in/2010/05/implementing-list-data-structure-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEESX8_cCp7ImA9WxFQFkU.&quot;"><id>tag:blogger.com,1999:blog-3937966209935417177.post-7607932434583815727</id><published>2010-05-11T17:48:00.004+05:30</published><updated>2010-05-12T23:20:08.148+05:30</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-12T23:20:08.148+05:30</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="P1i" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Linux" /><category scheme="http://www.blogger.com/atom/ns#" term="Fujitsu-Siemens Amilo Si 3655" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu" /><title>Internet Connection Sharing through WiFi with Ubuntu PC as a gateway</title><content type="html">&lt;span style="font-size: large;"&gt;&lt;u&gt;&lt;b&gt;The Problem&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I have Ubuntu installed on my notebook computer(from now onwards, I will call it host computer in this post) which has a wired ethernet connection to a broadband internet service provider. I want to have a WiFi network broadcast in my room using my host computer so that any other notebook(guest) or smart phone with WiFi capability in the vicinity can connect to the broadband internet with host notebook working as a gateway.&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: large;"&gt;&lt;u&gt;&lt;b&gt;The solution&lt;/b&gt;&lt;/u&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
I had this problem from long ago since I wanted my broadband to be shared on my Sony Ericsson P1i. and I searched whole of the internet to find a solution but none actually worked. &lt;br /&gt;
Today after some fiddling I finally made my P1i to hook to the broadband with Ubuntu notebook working as a gateway.&lt;br /&gt;
&lt;br /&gt;
This tutorial I am presenting has been tested on Ubuntu 10.04 Lucid Lynx and works perfectly fine. I can't guarantee it to work on earlier distributions because I myself had seen funny characters in WiFi network search list in P1i on 9.10 Karmic Koala and it never worked for me.&lt;br /&gt;
&lt;br /&gt;
So, lets proceed.&lt;br /&gt;
&lt;br /&gt;
1. Turn on your notebook's WiFi if there's a dedicated switch to turn it on. On my Fujitsu Siemens Amilo Si 3655 notebook, WiFi can be turned on using &lt;b&gt;Fn+F1&lt;/b&gt; key combination.&lt;br /&gt;
&lt;br /&gt;
2. Click on the &lt;b&gt;Network Manager&lt;/b&gt; icon(which looks like &lt;img border="0" src="http://2.bp.blogspot.com/_5M2InawvccI/S-k7b6-byPI/AAAAAAAAAc8/Q62Ge4COKig/s320/NM.png" /&gt;) in the notification area and click Create &lt;b&gt;New Wireless Network...&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
3. In the dialog box that pops up, put the network name as anything(I put &lt;b&gt;WLAN&lt;/b&gt;). Set &lt;b&gt;Wireles Security&lt;/b&gt; as &lt;b&gt;WEP 40/128-bit key&lt;/b&gt;. In the &lt;b&gt;Key&lt;/b&gt; box, enter any five digit number(I entered &lt;b&gt;31323&lt;/b&gt;). Click &lt;b&gt;Create.&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/S-k8izZb9_I/AAAAAAAAAdE/Ge-8SjYmgxE/s1600/Screenshot-5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5M2InawvccI/S-k8izZb9_I/AAAAAAAAAdE/Ge-8SjYmgxE/s320/Screenshot-5.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
4. Now right click on the &lt;b&gt;Network Manager&lt;/b&gt; icon and click &lt;b&gt;Edit Connections...&lt;/b&gt; In the &lt;b&gt;Network Connections&lt;/b&gt; dialog box that pops up, go to the &lt;b&gt;Wireless&lt;/b&gt; tab. Click &lt;b&gt;WLAN&lt;/b&gt;(or the network name you had provided) and click Edit.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/S-k883rr28I/AAAAAAAAAdM/VMxHPALAYqM/s1600/Screenshot-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5M2InawvccI/S-k883rr28I/AAAAAAAAAdM/VMxHPALAYqM/s320/Screenshot-2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
5. In the &lt;b&gt;Edit WLAN&lt;/b&gt; dialog box that opens up, set the &lt;b&gt;Mode&lt;/b&gt; as &lt;b&gt;Ad-hoc&lt;/b&gt;. Make sure the &lt;b&gt;Connect Automatically&lt;/b&gt; checkbox is checked and in the &lt;b&gt;IPv4 Settings&lt;/b&gt; tab, and &lt;b&gt;Method&lt;/b&gt; is set to &lt;b&gt;Shared to other computers&lt;/b&gt;. Now click Apply.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5M2InawvccI/S-k9dJk0hQI/AAAAAAAAAdU/qSMUjApQSZM/s1600/Screenshot-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5M2InawvccI/S-k9dJk0hQI/AAAAAAAAAdU/qSMUjApQSZM/s320/Screenshot-3.png" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_5M2InawvccI/S-k9kAa8_TI/AAAAAAAAAdc/CnSPeCIeZ70/s1600/Screenshot-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5M2InawvccI/S-k9kAa8_TI/AAAAAAAAAdc/CnSPeCIeZ70/s320/Screenshot-4.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Your network is ready!!! Congrats!!! But thats only 50 percent of the hurdle complete. You might have reached this far several times using other tutorials and how tos available on the net. Lets proceed through to get the configuration details for the client pc/notebook/smart phone.&lt;br /&gt;
&lt;br /&gt;
6. Open a terminal(for eg. by pressing &lt;b&gt;Alt+F2&lt;/b&gt; then typing &lt;b&gt;xterm&lt;/b&gt; and pressing enter). In the terminal type &lt;b&gt;ifconfig&lt;/b&gt; and press enter. Scroll down tothe place where &lt;b&gt;wlan0&lt;/b&gt; is written. Beside that, in the second line you will see three things viz. &lt;b&gt;inet addr&lt;/b&gt;, &lt;b&gt;Bcast&lt;/b&gt; and &lt;b&gt;Mask&lt;/b&gt;. Note these things somewhere safely. In my case inet addr is 10.42.43.1 and Mask is 255.255.255.0. No need to note &lt;b&gt;Bcast&lt;/b&gt;.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/S-k_V-PTJYI/AAAAAAAAAdk/c0iXVEOc6dA/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5M2InawvccI/S-k_V-PTJYI/AAAAAAAAAdk/c0iXVEOc6dA/s320/Screenshot.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
7. Use the following manual configuration details for the client system:&lt;br /&gt;
&lt;br /&gt;
IPv4 Addr: 10.42.43.2(for a yet another machine use 10.42.43.3 and so on...)&lt;br /&gt;
Subnet Mask: 255.255.255.0&lt;br /&gt;
DNS Address1: 208.67.222.222&lt;br /&gt;
DNS Address2: 208.67.220.220&lt;br /&gt;
&lt;br /&gt;
After doing all this above you may notice that the client computer connects to net successfully but the host computer isn't able to access any website. Thats because the network manager blanks the DNS records set in &lt;b&gt;/etc/resolv.conf&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
To solve this, type&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;sudo gedit /etc/resolv.conf &lt;/blockquote&gt;&lt;br /&gt;
in any terminal and there append&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;nameserver 208.67.220.220&lt;br /&gt;
nameserver 208.67.222.222&lt;/blockquote&gt;&lt;br /&gt;
and save the file. Afterwards you will be able to surf the web on gateway computer as well, normally. &lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5M2InawvccI/S-lBSz4a8AI/AAAAAAAAAds/ILnmEPe0VlE/s1600/Screenshot-6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5M2InawvccI/S-lBSz4a8AI/AAAAAAAAAds/ILnmEPe0VlE/s320/Screenshot-6.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
You may notice that the network manager blanks out /etc/resolv.conf every now and then and you've to manually edit it and add nameservers. This is a very common problem faced by GNOME users. To get rid of this just type the following command in terminal and press enter.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;chattr +i /etc/resolv.conf&lt;/blockquote&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now I am going to explain how did I connect my P1i to this network to use the broadband internet.&lt;br /&gt;
&lt;br /&gt;
1. Turn on &lt;b&gt;Wireless LAN&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5M2InawvccI/S-lHndEwKkI/AAAAAAAAAe0/5urLTSrEf-0/s1600/capture0000.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5M2InawvccI/S-lHndEwKkI/AAAAAAAAAe0/5urLTSrEf-0/s320/capture0000.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
2. Touch &lt;b&gt;Scan&lt;/b&gt; for scanning for new networks You will see the newly created network &lt;b&gt;WLAN&lt;/b&gt; listed there with a lock icon.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_5M2InawvccI/S-lHtxPwX6I/AAAAAAAAAe8/dMUQck9jU10/s1600/capture0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_5M2InawvccI/S-lHtxPwX6I/AAAAAAAAAe8/dMUQck9jU10/s320/capture0001.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
3. Now go to &lt;b&gt;Internet Accounts&lt;/b&gt; by tapping &lt;b&gt;More&lt;/b&gt; in the &lt;b&gt;WLAN&lt;/b&gt; page and tapping &lt;b&gt;Internet Accounts&lt;/b&gt;.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/S-lIJlEItmI/AAAAAAAAAfE/7H2dO3o7_F8/s1600/capture0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5M2InawvccI/S-lIJlEItmI/AAAAAAAAAfE/7H2dO3o7_F8/s320/capture0003.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
4. There tap &lt;b&gt;More&lt;/b&gt;&amp;gt;&lt;b&gt;New account&lt;/b&gt;&amp;gt;&lt;b&gt;WLAN&lt;/b&gt;&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5M2InawvccI/S-lFJJsoYrI/AAAAAAAAAd0/NoA8ChpSLdM/s1600/capture0000.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5M2InawvccI/S-lFJJsoYrI/AAAAAAAAAd0/NoA8ChpSLdM/s320/capture0000.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
5. Fill in the details as shown in the screenshot and create the connection.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/S-lFRWkV4FI/AAAAAAAAAd8/uhkbDellbZ0/s1600/capture0001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5M2InawvccI/S-lFRWkV4FI/AAAAAAAAAd8/uhkbDellbZ0/s320/capture0001.png" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_5M2InawvccI/S-lFqdsAxnI/AAAAAAAAAeE/YHWD6Olb0ro/s1600/capture0002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5M2InawvccI/S-lFqdsAxnI/AAAAAAAAAeE/YHWD6Olb0ro/s320/capture0002.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
6. Now in the &lt;b&gt;Internet Accounts&lt;/b&gt; tab highlight &lt;b&gt;WLAN&lt;/b&gt; and tap &lt;b&gt;Edit&lt;/b&gt;, then tap &lt;b&gt;More&lt;/b&gt;&amp;gt;&lt;b&gt;TCP/IP&lt;/b&gt;&amp;gt;&lt;b&gt;IP Config&lt;/b&gt; and fill in the details as shown in the screenshot. Similarly fill in the details for the DNS address. Press &lt;b&gt;Done&lt;/b&gt; and come back to &lt;b&gt;Wireless LAN&lt;/b&gt;. There scan for networks. You will notice a yellow star beside th network name WLAN. Hit the &lt;b&gt;Connect&lt;/b&gt; button after highlighting WLAN.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_5M2InawvccI/S-lF4YYNGhI/AAAAAAAAAeM/Meq1c5BdwtU/s1600/capture0003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_5M2InawvccI/S-lF4YYNGhI/AAAAAAAAAeM/Meq1c5BdwtU/s320/capture0003.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_5M2InawvccI/S-lGOARNuMI/AAAAAAAAAek/0F4KmiBdo6s/s1600/capture0004.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_5M2InawvccI/S-lGOARNuMI/AAAAAAAAAek/0F4KmiBdo6s/s320/capture0004.png" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_5M2InawvccI/S-lKiXUvGjI/AAAAAAAAAfc/U3rNiso06Ew/s1600/capture0002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5M2InawvccI/S-lKiXUvGjI/AAAAAAAAAfc/U3rNiso06Ew/s320/capture0002.png" /&gt;&lt;/a&gt;&lt;/div&gt;7. Cheers!!! You are now connected to the internet. Open web browser and test your connectivity and enjoy.&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_5M2InawvccI/S-lK-5etS8I/AAAAAAAAAfk/QhJBi5PQCX8/s1600/capture0007.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5M2InawvccI/S-lK-5etS8I/AAAAAAAAAfk/QhJBi5PQCX8/s320/capture0007.png" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_5M2InawvccI/S-lLDHUYDKI/AAAAAAAAAfs/OuYxxpRuJL4/s1600/capture0008.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_5M2InawvccI/S-lLDHUYDKI/AAAAAAAAAfs/OuYxxpRuJL4/s320/capture0008.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3937966209935417177-7607932434583815727?l=www.techbite.in' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheLifeOfATechAddict/~4/5bObm3Zs2z4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://www.techbite.in/feeds/7607932434583815727/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3937966209935417177&amp;postID=7607932434583815727" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/7607932434583815727?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3937966209935417177/posts/default/7607932434583815727?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheLifeOfATechAddict/~3/5bObm3Zs2z4/internet-connection-sharing-through.html" title="Internet Connection Sharing through WiFi with Ubuntu PC as a gateway" /><author><name>Prabhakar Kumar</name><uri>https://profiles.google.com/107887836515715073196</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-uF8abDhwAIM/AAAAAAAAAAI/AAAAAAAAApw/PX8BZtsjbt8/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_5M2InawvccI/S-k7b6-byPI/AAAAAAAAAc8/Q62Ge4COKig/s72-c/NM.png" height="72" width="72" /><thr:total>9</thr:total><feedburner:origLink>http://www.techbite.in/2010/05/internet-connection-sharing-through.html</feedburner:origLink></entry></feed>

