<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>சுதர்சன் சாந்தியப்பன்</title>
	<atom:link href="http://sudarsun.in/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://sudarsun.in/blog</link>
	<description>Dream of the Impossible™</description>
	<lastBuildDate>Sun, 05 Feb 2012 12:03:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Queen&#8217;s Dessert Icecream</title>
		<link>http://sudarsun.in/blog/2012/02/queens-dessert-icecream/</link>
		<comments>http://sudarsun.in/blog/2012/02/queens-dessert-icecream/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 11:56:53 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[arun]]></category>
		<category><![CDATA[icecream]]></category>
		<category><![CDATA[queen's dessert]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2012/02/queens-dessert-icecream/</guid>
		<description><![CDATA[Queen&#8217;s Dessert Icecream with Chocolate Sauce and Chocochips.&#160; It tasted very nice and creamy.&#160; The ice cream had dark chocolate cookies, which added to the taste and experience.&#160; Although Chocolate fudge would have been a better choice than chocolate sauce, it indeed tasted nice.]]></description>
			<content:encoded><![CDATA[<p><img title="IMG007.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/02/wpid-IMG007.jpg" /></p>
<p><img title="IMG010.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/02/wpid-IMG010.jpg" /></p>
<p><img title="IMG009.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/02/wpid-IMG009.jpg" /></p>
<p><img title="IMG008.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/02/wpid-IMG008.jpg" /></p>
<div align="justify">Queen&#8217;s Dessert Icecream with Chocolate Sauce and Chocochips.&nbsp; It tasted very nice and creamy.&nbsp; The ice cream had dark chocolate cookies, which added to the taste and experience.&nbsp; Although Chocolate fudge would have been a better choice than chocolate sauce, it indeed tasted nice.</div>
<p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=0f4c1dcc-65ac-8038-b2ac-bdc60bd739b0" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2012/02/queens-dessert-icecream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Superstar Movie</title>
		<link>http://sudarsun.in/blog/2012/02/simple-superstar-movie/</link>
		<comments>http://sudarsun.in/blog/2012/02/simple-superstar-movie/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 07:53:35 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Tamil]]></category>
		<category><![CDATA[madurai]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[sargunaraj]]></category>
		<category><![CDATA[tamil]]></category>
		<category><![CDATA[wilbur]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2012/02/simple-superstar-movie/</guid>
		<description><![CDATA[Wilbur is in the process of producing his first movie called Simple Superstar.&#160; He is raising the funding for the movie from his fans.&#160; More about the movie and himself at www.wilbur.asia.&#160; Being a fan, I have donated a small contribution, which would make me one of the Associate Producers of the movie.&#160; I am [...]]]></description>
			<content:encoded><![CDATA[<div align="justify">Wilbur is in the process of producing his first movie called Simple Superstar.&nbsp; He is raising the funding for the movie from his fans.&nbsp; More about the movie and himself at <a target="_blank" href="http://wilbur.asia/">www.wilbur.asia</a>.&nbsp; Being a fan, I have donated a small contribution, which would make me one of the Associate Producers of the movie.&nbsp; I am so excited to see the movie screened end of this year.&nbsp; Keep up the good work Wilbur!
<div align="center"><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/02/20120114153221-logoindiegogo20120114-27332-1u4o932-0.jpg" /></div>
<p></div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=31891434-9989-8649-b751-5781fa536dae" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2012/02/simple-superstar-movie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Butterscotch Icecream</title>
		<link>http://sudarsun.in/blog/2012/02/butter-scotch-icecream/</link>
		<comments>http://sudarsun.in/blog/2012/02/butter-scotch-icecream/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 14:22:29 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[arun]]></category>
		<category><![CDATA[butterscotch]]></category>
		<category><![CDATA[icecream]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2012/02/butter-scotch-icecream/</guid>
		<description><![CDATA[Butterscotch Icecream with butterscotch sauce, chocolate fudge, chocochips.&#160; This is one of my favorite flavors.&#160; Just seeing this makes me mouth watering!&#160; Additional toppings could be almond nuts and cashew nuts sprinkled over the ice cream.&#160; When I had this icecream, it was so soft and creamy, which makes me go to the parlor at [...]]]></description>
			<content:encoded><![CDATA[<p><img title="IMG004.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/02/wpid-IMG004.jpg" /></p>
<p><img title="IMG003.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/02/wpid-IMG003.jpg" /></p>
<p><img title="IMG001.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/02/wpid-IMG001.jpg" /></p>
<div align="justify">Butterscotch Icecream with butterscotch sauce, chocolate fudge, chocochips.&nbsp; This is one of my favorite flavors.&nbsp; Just seeing this makes me mouth watering!&nbsp; Additional toppings could be almond nuts and cashew nuts sprinkled over the ice cream.&nbsp; When I had this icecream, it was so soft and creamy, which makes me go to the parlor at Ambattur every week.</div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=a1d08a73-c1f1-8dda-b1fe-c29d76b99c2f" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2012/02/butter-scotch-icecream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Graphics not working in L702X Dell XPS 17 while installing Linux Mint 12</title>
		<link>http://sudarsun.in/blog/2012/01/graphics-not-working-in-l702x-dell-xps-17-while-installing-linux-mint-12/</link>
		<comments>http://sudarsun.in/blog/2012/01/graphics-not-working-in-l702x-dell-xps-17-while-installing-linux-mint-12/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 13:17:29 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2012/01/graphics-not-working-in-l702x-dell-xps-17-while-installing-linux-mint-12/</guid>
		<description><![CDATA[Looks like the faulty nouveau driver is creating the fault during boot up. Without nomodeset and/or acpi=off, booting leads to segmentation fault by the nouveau module. When I disable the nouveau module by blacklisting it under modprobe.d, I am able to boot up cleanly using the Intel Sandybridge Mobile graphics driver.  After updating the blacklist [...]]]></description>
			<content:encoded><![CDATA[<p>Looks like the faulty <strong>nouveau</strong> driver is creating the fault during boot up. Without <strong>nomodeset</strong> and/or <strong>acpi=off</strong>, booting leads to segmentation fault by the <strong>nouveau</strong> module. When I disable the nouveau module by blacklisting it under <strong>modprobe.d</strong>, I am able to boot up cleanly using the <strong>Intel Sandybridge Mobile</strong> graphics driver.  After updating the blacklist configuration, remember to run <strong>update-initramfs -u</strong>.</p>
<div style="margin: 5px 20px 20px;">
<div class="smallfont" style="margin-bottom: 2px;">Code:</div>
<pre class="alt2" style="margin: 0px; padding: 6px; border: 1px inset; width: 640px; height: 98px; text-align: left; overflow: auto;" dir="ltr">filename: /etc/modprobe.d/nvidia-nouveau

# disable nouveau driver
blacklist nouveau
options nouveau modeset=0</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2012/01/graphics-not-working-in-l702x-dell-xps-17-while-installing-linux-mint-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Temperature Monitoring Device</title>
		<link>http://sudarsun.in/blog/2012/01/temperature-monitoring-device/</link>
		<comments>http://sudarsun.in/blog/2012/01/temperature-monitoring-device/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 17:25:08 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Construction]]></category>
		<category><![CDATA[Electrical]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[atmega8]]></category>
		<category><![CDATA[atmel]]></category>
		<category><![CDATA[avr]]></category>
		<category><![CDATA[development board]]></category>
		<category><![CDATA[freeduino]]></category>
		<category><![CDATA[hitachi]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[lm35]]></category>
		<category><![CDATA[microcontroller]]></category>
		<category><![CDATA[onlinetps]]></category>
		<category><![CDATA[sensor]]></category>
		<category><![CDATA[usbasp]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2012/01/temperature-monitoring-device/</guid>
		<description><![CDATA[LM35 Temperature Sensor The System. The monitor. The mixed water line: The hot water line: The cold water line: monitor opened up: the atmega8 microcontroller the lcd unit: theboard: inside the monitor: The AVR code. const&#160;int COLD = 0, HOT = 1, MIXED = 2, CALIBRATE = 3;const&#160;int PWMPORT = 5; float SCALE = 5000.0/1024.0; [...]]]></description>
			<content:encoded><![CDATA[<p>LM35 Temperature Sensor <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/lm35.jpg" alt="" /></p>
<p>The System. <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/setup.jpg" alt="" /></p>
<p>The monitor. <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/monitor.jpg" alt="" /></p>
<p>The mixed water line: <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/mixed.jpg" alt="" /></p>
<p>The hot water line: <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/hot.jpg" alt="" /></p>
<p>The cold water line: <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/cold1.jpg" alt="" /><br /><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/cold2.jpg" alt="" /></p>
<p>monitor opened up: <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/opened.jpg" alt="" /></p>
<p>the atmega8 microcontroller <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/uP.jpg" alt="" /></p>
<p>the lcd unit: <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/lcd.jpg" alt="" /></p>
<p>theboard: <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/board.jpg" alt="" /></p>
<p>inside the monitor: <img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2012/01/inside1.jpg" alt="" /></p>
<p>The AVR code.<br />
<blockquote>const&nbsp;<span style="color: #CC6600;">int</span> COLD = 0, HOT = 1, MIXED = 2, CALIBRATE = 3;<br />const&nbsp;<span style="color: #CC6600;">int</span> PWMPORT = 5;</p>
<p><span style="color: #CC6600;">float</span> SCALE = 5000.0/1024.0; <span style="color: #7E7E7E;">// 10 bit resolution for ADC</span><br />const&nbsp;<span style="color: #CC6600;">float</span> LM35SCALE = 10;  <span style="color: #7E7E7E;">// 10mV per Centigrade</span></p>
<p>#include&nbsp;&lt;<span style="color: #CC6600;">LiquidCrystal</span>.h&gt;</p>
<p><span style="color: #CC6600;">LiquidCrystal</span> lcd(13, 12, 11, 10, 9, 8 );</p>
<p><span style="color: #CC6600;">byte</span> smiley[8] = {<br />&nbsp;&nbsp;<span style="color: #006699;">B00010</span>,<br />&nbsp;&nbsp;<span style="color: #006699;">B00101</span>,<br />&nbsp;&nbsp;<span style="color: #006699;">B00010</span>,<br />&nbsp;&nbsp;<span style="color: #006699;">B00000</span>,<br />&nbsp;&nbsp;<span style="color: #006699;">B00000</span>,<br />&nbsp;&nbsp;<span style="color: #006699;">B00000</span>,<br />&nbsp;&nbsp;<span style="color: #006699;">B00000</span>,<br />};</p>
<p><span style="color: #CC6600;">float</span> Calibrate( <span style="color: #CC6600;">void</span> )<br />{<br />&nbsp;&nbsp;<span style="color: #7E7E7E;">// write 5v to PWM port  </span><br />&nbsp;&nbsp;<span style="color: #CC6600;">analogWrite</span>(PWMPORT, 255);</p>
<p>&nbsp;&nbsp;<span style="color: #7E7E7E;">// read the 5v analog value in the calibrate port</span><br />&nbsp;&nbsp;<span style="color: #CC6600;">delay</span>(500);<br />&nbsp;&nbsp;<span style="color: #CC6600;">int</span> val = <span style="color: #CC6600;">analogRead</span>(CALIBRATE);</p>
<p>&nbsp;&nbsp;<span style="color: #7E7E7E;">// read again the 5v analog value in the calibrate port</span><br />&nbsp;&nbsp;<span style="color: #CC6600;">delay</span>(100);<br />&nbsp;&nbsp;val&nbsp;=&nbsp;<span style="color: #CC6600;">analogRead</span>(CALIBRATE);</p>
<p>&nbsp;&nbsp;<span style="color: #7E7E7E;">// whatever digital value we read is the range of output that we would get for 5v input.</span><br />&nbsp;&nbsp;<span style="color: #7E7E7E;">// so, set the scale appropriately.</span><br />&nbsp;&nbsp;SCALE&nbsp;=&nbsp;5000.0/(<span style="color: #CC6600;">float</span>)val;    <br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<span style="color: #CC6600;">return</span> SCALE;<br />}</p>
<p><span style="color: #CC6600;">void</span> <span style="color: #CC6600;"><b>setup</b></span>()<br />{<br />&nbsp;&nbsp;<span style="color: #CC6600;">pinMode</span>(PWMPORT, <span style="color: #006699;">OUTPUT</span>);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">createChar</span>(0, smiley);<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">begin</span>(16,2);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">setCursor</span>(0,0);<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>(<span style="color: #006699;">&#8220;Calibrating..&#8221;</span>);<br />&nbsp;&nbsp;<span style="color: #CC6600;">float</span> scale = Calibrate();<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">setCursor</span>(0,1);<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>(<span style="color: #006699;">&#8220;Scale=&#8221;</span>);<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>(scale);<br />&nbsp;&nbsp;<span style="color: #CC6600;">delay</span>(1000);<br />}</p>
<p><span style="color: #CC6600;">int</span> Temp( <span style="color: #CC6600;">int</span> inADC )<br />{<br />&nbsp;&nbsp;<span style="color: #CC6600;">float</span> lm35volts = (<span style="color: #CC6600;">float</span>)inADC * SCALE;<br />&nbsp;&nbsp;<span style="color: #CC6600;">float</span> temp = lm35volts/LM35SCALE;<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<span style="color: #CC6600;">return</span> (<span style="color: #CC6600;">int</span>)temp;<br />}</p>
<p><span style="color: #CC6600;">int</span> ReadData( <span style="color: #CC6600;">int</span> port )<br />{<br />&nbsp;&nbsp;<span style="color: #CC6600;">int</span> data = -1;<br />&nbsp;&nbsp;<span style="color: #CC6600;">for</span> ( <span style="color: #CC6600;">int</span> i = 0; i &lt; 3; ++i ) <br />&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;data&nbsp;=&nbsp;<span style="color: #CC6600;">analogRead</span>( port );<br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #CC6600;">delay</span>(100);<br />&nbsp;&nbsp;}<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<span style="color: #CC6600;">return</span> data;<br />}</p>
<p><span style="color: #CC6600;">void</span> <span style="color: #CC6600;"><b>loop</b></span>()<br />{<br />&nbsp;&nbsp;<span style="color: #CC6600;">int</span> cold = ReadData( COLD );<br />&nbsp;&nbsp;<span style="color: #CC6600;">int</span> hot  = ReadData( HOT );<br />&nbsp;&nbsp;<span style="color: #CC6600;">int</span> mixed= ReadData( MIXED );<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<span style="color: #CC6600;">int</span> cold_temp = Temp(cold);<br />&nbsp;&nbsp;<span style="color: #CC6600;">int</span> hot_temp = Temp(hot);<br />&nbsp;&nbsp;<span style="color: #CC6600;">int</span> mixed_temp = Temp(mixed);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">clear</span>();</p>
<p>&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>( <span style="color: #006699;">&#8220;C=&#8221;</span> );<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>( cold_temp );<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">write</span>(0);<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>(<span style="color: #006699;">&#8220;C&#8221;</span>);<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>( <span style="color: #006699;">&#8221; H=&#8221;</span> );<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>( hot_temp );<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">write</span>(0);<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>(<span style="color: #006699;">&#8220;C&#8221;</span>);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">setCursor</span>(0,1);<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>( <span style="color: #006699;">&#8220;Mixed=&#8221;</span> );<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>( mixed_temp );<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">write</span>(0);<br />&nbsp;&nbsp;lcd.<span style="color: #CC6600;">print</span>(<span style="color: #006699;">&#8220;C&#8221;</span>);<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;<span style="color: #CC6600;">delay</span>(1000);<br />}</p>
</blockquote>
<p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=7ff3ac86-2329-8470-a0f4-72287d4bd8f3" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2012/01/temperature-monitoring-device/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing a Hand Remote Control that doesn&#8217;t work!</title>
		<link>http://sudarsun.in/blog/2011/12/fixing-a-hand-remote-control-that-doesnt-work/</link>
		<comments>http://sudarsun.in/blog/2011/12/fixing-a-hand-remote-control-that-doesnt-work/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 13:33:12 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[altec-lansing]]></category>
		<category><![CDATA[circuits]]></category>
		<category><![CDATA[crystal]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[frequency]]></category>
		<category><![CDATA[IR led]]></category>
		<category><![CDATA[remote-control]]></category>
		<category><![CDATA[SMD]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/12/fixing-a-hand-remote-control-that-doesnt-work/</guid>
		<description><![CDATA[&#160;&#160;&#160; It is hard to imagine a television or a multimedia system without remote control now a days. Broken remote control units is an eternal problem. Thanks to China for dumping remote control units, which makes the cost of them affordable between 60-75Rs for television units. But, finding a replacement for multimedia systems is still [...]]]></description>
			<content:encoded><![CDATA[<div align="justify">&nbsp;&nbsp;&nbsp; It is hard to imagine a television or a multimedia system without remote control now a days.  Broken remote control units is an eternal problem.  Thanks to China for dumping remote control units, which makes the cost of them affordable between 60-75Rs for television units.  But, finding a replacement for multimedia systems is still a problem as no vendor is holding such stocks for its lower sales.  </div>
<div align="justify"><img size="60%" style="max-width: 800px; float: left; margin-top: 10px; margin-bottom: 10px; margin-right: 10px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/12/irled.jpg" height="146" width="174" />&nbsp;&nbsp;&nbsp;&nbsp; I have been hit for the same problem when my Altec Lansing 5.1 multimedia system&#8217;s remote control broke.  In the sense, the remote was functional intermittently.  And some time, the key pad mapping got goofed up with + working as &#8211; and so on.  When I visited my local electronics stores guy, he said the general problem for intermittent remote operation is a conked up crystal that is found inside the remote control unit.&nbsp; </div>
<p>
<div align="justify"><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/12/remote30.jpg" height="315" width="212" />&nbsp;&nbsp;&nbsp; Remote control units work with Infrared light communication between the hand-unit and the multimedia system&#8217;s base unit.&nbsp; Commands from the keypad are converted to IR signals, which are received and decoded by the base unit to perform appropriate function.&nbsp; Since IR light is not visible to human eye, one should use a Camera eye to see the IR light.&nbsp; The easiest way is to observe the LED mounted in the front of the hand unit through a mobile camera or any camera that&#8217;s in working condition.&nbsp; The cameras bandwidth covers IR and UV apart from the visible spectrum.&nbsp; You will find that the IR led blinks (carrier frequency is 22khz), when you press any button on the remote control unit.&nbsp; If you observe that for some keys the IR led is not flashing or intermittently flashing, you may associate the problem to a faulty crystal in the remote control PCB.</div>
<p>
<div align="justify"><img style="max-width: 800px; float: left; margin-top: 10px; margin-bottom: 10px; margin-right: 10px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/12/crystal.jpg" height="226" width="309" />&nbsp;&nbsp;&nbsp; When the remote is opened, you will see a PCB like the one in the picture.&nbsp; The PCB could be plucked out from the casing by hand.&nbsp; You will also see a rubber like buttons which are the actual buttons that you press.&nbsp; The rubber button is placed on the PCB, where the button presses are converted to switching action.&nbsp; Remember, the buttons will have a conducting coating under it, which indeed closes the circuit when the button touches the PCB.&nbsp; </p>
<p><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/12/board40.jpg" height="240" width="321" />&nbsp;&nbsp;&nbsp; The crystal that comes as a part of the circuitry is shown in the picture.&nbsp; It is otherwise called a ceramic resonator, which is the crucial component of an oscillator circuitry.&nbsp; Crystals are typically used against LC, RC tank circuits for its very high stability feature against temperature and humidity. My remote uses a 455Khz crystal named <a target="_blank" href="http://dalincom.ru/datasheet/CRB455E.pdf">CRB455E</a> (http://dalincom.ru/datasheet/CRB455E.pdf). The cost of this crystal as on today is Rs 2 in Chennai/India.&nbsp; After replacing the crystal, my remote is working perfectly so far.</div>
<p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=a70c07fc-bb5e-8b86-a314-dc95e004a4b8" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/12/fixing-a-hand-remote-control-that-doesnt-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>kDevelop 4.2 Debugging</title>
		<link>http://sudarsun.in/blog/2011/11/kdevelop-4-2-debugging/</link>
		<comments>http://sudarsun.in/blog/2011/11/kdevelop-4-2-debugging/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 10:08:38 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowWhat]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[breakpoint]]></category>
		<category><![CDATA[gdb]]></category>
		<category><![CDATA[kdevelop]]></category>
		<category><![CDATA[SIGINT]]></category>
		<category><![CDATA[signal]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/11/kdevelop-4-2-debugging/</guid>
		<description><![CDATA[&#160;&#160;&#160; When I was using KDevelop 4.2 for debugging a process, I got perplexed having the inferior application closing down whenever I was setting a breakpoint on the fly.&#160; On the contrary, the breakpoints there were setup before the start of the inferior application, things behave as expected.&#160; With little bit of digging, it is [...]]]></description>
			<content:encoded><![CDATA[<div align="justify">&nbsp;&nbsp;&nbsp; When I was using KDevelop 4.2 for debugging a process, I got perplexed having the inferior application closing down whenever I was setting a breakpoint on the fly.&nbsp; On the contrary, the breakpoints there were setup before the start of the inferior application, things behave as expected.&nbsp; With little bit of digging, it is found that whenever a new breakpoint is setup or removed (Toggle Breakpoint), kDevelop inherently issues a SIGINT to the inferior application, which in turn stops the application from debugging.&nbsp; To handle this problem, setup a signal handler for SIGINT, to consume the Interrupt signal (Ctrl+C, Ctrl+Break).&nbsp; But once the debugging is over, don&#8217;t forget to reset the SIGINT handler.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/11/kdevelop-4-2-debugging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hash Overflow due to 64 bit upcasting</title>
		<link>http://sudarsun.in/blog/2011/10/hash-overflow-due-to-64-bit-upcasting/</link>
		<comments>http://sudarsun.in/blog/2011/10/hash-overflow-due-to-64-bit-upcasting/#comments</comments>
		<pubDate>Fri, 28 Oct 2011 12:36:24 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Help]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[KnowWhat]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[32 bit]]></category>
		<category><![CDATA[64 bit]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[data types]]></category>
		<category><![CDATA[g++]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[hashing]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mint]]></category>
		<category><![CDATA[overflow]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[win32]]></category>
		<category><![CDATA[win64]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/10/hash-overflow-due-to-64-bit-upcasting/</guid>
		<description><![CDATA[&#160;&#160;&#160; Lately, I had to debug the following piece of code, where it caused overflow on the hash bucket design.&#160; The code worked perfectly on a Windows machine while compiled for Win32, but failed to work on a Linux Mint x64 machine.&#160; The code is listed below, which basically calculates hash value of an input [...]]]></description>
			<content:encoded><![CDATA[<div align="justify">&nbsp;&nbsp;&nbsp; Lately, I had to debug the following piece of code, where it caused overflow on the hash bucket design.&nbsp; The code worked perfectly on a Windows machine while compiled for Win32, but failed to work on a Linux Mint x64 machine.&nbsp; The code is listed below, which basically calculates hash value of an input 32 bit unsigned number, limiting the hash value to 2^10 (1Meg).</div>
<blockquote><p><font face="Courier New">hash = ( fpArray*2654404609 )&gt;&gt;12; // Calculate the hash and limit the value to 2^20 (1 Meg)</font></p></blockquote>
<div align="justify">&nbsp;&nbsp; When the input value for fpArray was 1724463449 (0x66C93959), the hash value generated was 1779068547 (0x6A0A6E83), which is more than (0x000FFFFF) to cause the hash bucket overflow.</div>
<blockquote><p> <font face="Courier New">unsigned hash = fpArray * 2654404609;<br /> hash = hash &gt;&gt; 12;</font></p></blockquote>
<div align="justify">&nbsp;&nbsp;&nbsp; When I rewrote the code like the above, the value of hash was 2800236889 (0xA6E83959).&nbsp; Upon shifting right by 12 yields 638651 (0x0009BEBB), which is the correct and expected hash value.</div>
<p>
<div align="justify">&nbsp;&nbsp;&nbsp; Overall, the first snippet of code appears to be correct.&nbsp; Do you see a problem there?&nbsp; I couldn&#8217;t find the issue, until I recalled the 32bit vs 64bit difference.&nbsp; If you carefully look at the multiplier 2654404609 (0x9E370001), although appears to be a valid 32 bit number, what is the default assignment of type to this number by the compiler?&nbsp; If it was assigned 64bits, what would happen to the results?&nbsp; To validate this, I changed the 2nd snippet as the following.</div>
<blockquote><p>    <font face="Courier New">unsigned long hash = (unsigned long)fpArray * 2654404609;<br />    hash = hash &gt;&gt; 12;<br />    unsigned h2 = (unsigned)hash;</font></p></blockquote>
<div align="justify">&nbsp;&nbsp;&nbsp; Now, when the input is the same 1724463449 (0x66C93959), the value of hash becomes 4577423727077636441 (0x3F8646A0A6E83959) and upon right shifting by 12 bits yields 1117535089618563 (0x0003F8646A0A6E83).  Followed by downcasting to unsigned yield 1779068547 (0x6A0A6E83). Bingo!</div>
<p>
<div align="justify">&nbsp;&nbsp;&nbsp; So, what is happening here? While performing (fpArray * 2654404609), the computation is upcasted to 64bit computation by the 64 bit compiler.&nbsp; So, what is the solution? Just put a &#8220;U&#8221; at the end of the constant.</div>
<blockquote><p><font face="Courier New">hash = ( fpArray*2654404609U )&gt;&gt;12; // Calculate the hash and limit the value to 2^20 (1 Meg)<br />(or)<br />const unsigned multipler = 2654404609; // here U suffix is not needed as the constant is explicitly made unsigned<br />hash = ( fpArray * multiplier ) &gt;&gt; 12;</font></p></blockquote>
<p>&nbsp;&nbsp;&nbsp; Now, the computation will happen with 32 bit numbers to get the expected outputs.</p>
<p><b>Lessons Learned here:</b>
<ol>
<li>While using constants, beware of the upcasting and downcasting. So use proper suffixes like U, L, F etc.</li>
<li>Instead of using constants directly in expressions, use them as constant variables.</li>
<li>Be conscious about the compiler type and the assumptions made by the compiler in different build modes.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/10/hash-overflow-due-to-64-bit-upcasting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Worlds</title>
		<link>http://sudarsun.in/blog/2011/10/three-worlds/</link>
		<comments>http://sudarsun.in/blog/2011/10/three-worlds/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 19:20:03 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Philosophy]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/10/three-worlds/</guid>
		<description><![CDATA[We have been always told by our elders that there are three worlds, the one that we live (earth), the one above us (heaven) and the one below us (hell).&#160; After becoming an elder ourselves, do we still believe that there are three different type of worlds? We have been also instructed that all the [...]]]></description>
			<content:encoded><![CDATA[<div align="justify">We have been always told by our elders that there are three worlds, the one that we live (earth), the one above us (heaven) and the one below us (hell).&nbsp; After becoming an elder ourselves, do we still believe that there are three different type of worlds? We have been also instructed that all the gods live in the heaven and all the devils live in hell and likewise all the humans live in earth.&nbsp; Depending on our deeds, after our death, we could either go to heaven or hell.&nbsp; Do we still believe in all these statements?&nbsp; If one could do a little thought work over those statements, it could become apparent that all those are baseless myths.&nbsp; But, why was such a myth conceived in the first place?&nbsp; </div>
<p>
<div align="justify">Let&#8217;s first analyze the concept of three worlds.&nbsp; The key lies in &#8220;above us&#8221; and &#8220;below us&#8221; ideology. It was believed that the place we live is a &#8220;flat&#8221; and unlimited space.&nbsp; Now, we know that we are living in a spherical space suspended in vacuum space called universe (or multi-verse maybe!).&nbsp; When we all believed that our living space is flat, the ideology of &#8220;above us&#8221; and &#8220;below us&#8221; is a natural thought. Even now, if one thought about the boundaries of the universe, there is no absolute answer, but there are lots of theories.&nbsp; When humans climbed mountains, they realized that the temperature dropped over increasing altitude.&nbsp; Likewise, when humans dug deep on earth, they found the temperature to be increasing rapidly.&nbsp; So, now we know why hell (the world below) is always portrayed as &#8220;fire&#8221;/&#8221;hot&#8221; place.&nbsp; Humans found the celestial activities as depicted on the sky to be very intriguing and scary sometimes.&nbsp; So, they thought something uncontrollable is up there, which was deemed as a god, to whom every human should submit and fear.</div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=0ddbc5a9-9ff5-85f7-9723-a17464c13b8b" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/10/three-worlds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Remove The headlamp &#8211; Getz Prime</title>
		<link>http://sudarsun.in/blog/2011/09/how-to-remove-the-headlamp-getz-prime/</link>
		<comments>http://sudarsun.in/blog/2011/09/how-to-remove-the-headlamp-getz-prime/#comments</comments>
		<pubDate>Sat, 24 Sep 2011 17:47:13 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Automobiles]]></category>
		<category><![CDATA[Help]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[diy]]></category>
		<category><![CDATA[getz]]></category>
		<category><![CDATA[headlamp]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[hyundai]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/09/how-to-remove-the-headlamp-getz-prime/</guid>
		<description><![CDATA[Removing the headlamp from Getz Prime is pretty trivial and requires just only one tool and probably 5 minutes of time.&#160; Let&#8217;s see how to go about that. 1. The Headlamp Assembly: It appears very dull ey? Yes, I was going to remove it and replace the frontal glass. 2. The Tool: All the bolts [...]]]></description>
			<content:encoded><![CDATA[<p>Removing the headlamp from Getz Prime is pretty trivial and requires just only one tool and probably 5 minutes of time.&nbsp; Let&#8217;s see how to go about that.</p>
<p>1. The Headlamp Assembly: It appears very dull ey? Yes, I was going to remove it and replace the frontal glass.<br /><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG1661.jpg" /></p>
<p>2. The Tool: All the bolts that attach the assembly to the chassis are 10mm and you would need a bit rod for disassembling the headlamp unit.<br /><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG168.jpg" /></p>
<p>3. Remove Bolts: Use the 10mm bit rod to remove the bolts.&nbsp; Remove the first bolt visible from the top.<br /><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG169.jpg" /></p>
<p>4. Remove the other 3 bolts visible from the front side.<br /><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG170.jpg" /></p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG171.jpg" /></p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG172.jpg" /></p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG173.jpg" /></p>
<p>5. Remove the hidden bolt.&nbsp; Now that you have removed the front side 3 bolts, you will be able to pull that plastic to expose the hidden lamp assembly bolt fastened to the chassis.<br /><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG174.jpg" /></p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG175.jpg" /></p>
<p>6. Shake and pull the the headlamp assembly.&nbsp; Remember to remove three wiring harnesses connected to the headlamp assembly; a) The Bulb supply b) Motor, Parking lamp, Main Bulb supply c)&nbsp; Indicator supply.<br /><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG176.jpg" /></p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/09/IMG177.jpg" /></p>
<p>That&#8217;s it.&nbsp; It takes just 5 minutes and 1 tool to remove the head lamp assembly from Getz Prime. </p>
<p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=415c76dd-eac8-8feb-8b13-52f321d91a4e" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/09/how-to-remove-the-headlamp-getz-prime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  sudarsun.in/blog/feed/ ) in 0.40245 seconds, on Feb 6th, 2012 at 10:44 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 6th, 2012 at 11:44 am UTC -->
