<?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>சுதர்சன் சாந்தியப்பன் &#187; Hacks</title>
	<atom:link href="http://sudarsun.in/blog/category/hacks/feed/" rel="self" type="application/rss+xml" />
	<link>http://sudarsun.in/blog</link>
	<description>Dream of the Impossible™</description>
	<lastBuildDate>Sun, 20 May 2012 17:23:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Solar Panel contd.</title>
		<link>http://sudarsun.in/blog/2012/03/solar-panel-contd/</link>
		<comments>http://sudarsun.in/blog/2012/03/solar-panel-contd/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 17:24:21 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Construction]]></category>
		<category><![CDATA[Electrical]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowWhat]]></category>
		<category><![CDATA[10sqmm]]></category>
		<category><![CDATA[12v]]></category>
		<category><![CDATA[copper]]></category>
		<category><![CDATA[copper loss]]></category>
		<category><![CDATA[current]]></category>
		<category><![CDATA[dc]]></category>
		<category><![CDATA[maximum power]]></category>
		<category><![CDATA[mppt]]></category>
		<category><![CDATA[solar panel]]></category>
		<category><![CDATA[solar power]]></category>
		<category><![CDATA[tramission loss]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2012/03/solar-panel-contd/</guid>
		<description><![CDATA[Installation of additional 130Wp is in place now to make the power plant worth 300Wp.&#160; The new panel added has a spec of 17Vmp against the 16.4Vpm of the 170Wp panel group.&#160; So eventually I may be losing some power.&#160; I am using 10sqmm copper cable to reduce the transmission losses.&#160; I had measured the [...]]]></description>
			<content:encoded><![CDATA[<p><img title="IMG187.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/03/wpid-IMG187.jpg" /></p>
<p><img title="IMG183.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/03/wpid-IMG183.jpg" /></p>
<p><img title="IMG185.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/03/wpid-IMG185.jpg" /></p>
<p><img title="IMG184.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/03/wpid-IMG184.jpg" /></p>
<p><img title="IMG182.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/03/wpid-IMG182.jpg" /></p>
<p><img title="IMG180.jpg" class="alignnone" alt="image" src="http://sudarsun.in/blog/wp-content/uploads/2012/03/wpid-IMG180.jpg" /></p>
<div align="justify">Installation of additional 130Wp is in place now to make the power plant worth 300Wp.&nbsp; The new panel added has a spec of 17Vmp against the 16.4Vpm of the 170Wp panel group.&nbsp; So eventually I may be losing some power.&nbsp; I am using 10sqmm copper cable to reduce the transmission losses.&nbsp; I had measured the impedance of the cable to 1mΩ. So at 20A, I will be losing about 0.4W only.&nbsp; But the cost of this wire is around 70Rs/m.&nbsp; I am able to produce about 221W during the mid day, and about 170W around 10AM.&nbsp; Upon little bit of investigation, it is found that the solar panels shell out less power at increased temperature.&nbsp; It is also said that at 60-70°C, the efficiency is around 70%, which is matching with my measurements.&nbsp; So, thinking about a water cooling solution; basically augmenting a solar water heating solution with the solar panel to establish double benefits.&nbsp; Every day with the solar panels is a day of new learning and I am enjoying it. <img src='http://sudarsun.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=694820ce-f47e-8131-92b3-8dee7c34b879" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2012/03/solar-panel-contd/feed/</wfw:commentRss>
		<slash:comments>6</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>kDevelop Editing Freezes Problem</title>
		<link>http://sudarsun.in/blog/2011/08/kdevelop-editing-freezes-problem/</link>
		<comments>http://sudarsun.in/blog/2011/08/kdevelop-editing-freezes-problem/#comments</comments>
		<pubDate>Sat, 20 Aug 2011 04:26:58 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[alt-tab]]></category>
		<category><![CDATA[context-switching]]></category>
		<category><![CDATA[freezes]]></category>
		<category><![CDATA[kdevelop]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[read-only]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vi]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/08/kdevelop-editing-freezes-problem/</guid>
		<description><![CDATA[While working with KDevelop 4.2, I was quite disturbed by suddenly freezing of editing window. In the sense, the opening file is uneditable, &#8220;find&#8221; strings does not work and literally kDevelop becomes unusable. I had to restart kDevelop 4.2 to resume editing the code. I believed that kDevelop is going into Vi mode and was [...]]]></description>
			<content:encoded><![CDATA[<div align="justify">While working with KDevelop 4.2, I was quite disturbed by suddenly freezing of editing window.  In the sense, the opening file is uneditable, &#8220;find&#8221; strings does not work and literally kDevelop becomes unusable.  I had to restart kDevelop 4.2 to resume editing the code.  I believed that kDevelop is going into Vi mode and was trying to undo that.  But that&#8217;s not the problem.</div>
<p>
<div align="justify">When kDevelop loses focus, somehow the editing capability is disabled temporarily.  When you switch context a couple of time by Alt-Tab and land is kDevelop again, the editing capability is resumed.  I don&#8217;t know whether this is a bug, but context-switching has been my breather for now.</div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/08/kdevelop-editing-freezes-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solar Battery Charger Cutoff Circuit</title>
		<link>http://sudarsun.in/blog/2011/08/solar-battery-charger-cutoff-circuit/</link>
		<comments>http://sudarsun.in/blog/2011/08/solar-battery-charger-cutoff-circuit/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 15:35:53 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Electrical]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[battery-charger]]></category>
		<category><![CDATA[circuit]]></category>
		<category><![CDATA[cl100]]></category>
		<category><![CDATA[cut off]]></category>
		<category><![CDATA[potential divider]]></category>
		<category><![CDATA[preset]]></category>
		<category><![CDATA[pv]]></category>
		<category><![CDATA[relay]]></category>
		<category><![CDATA[solar]]></category>
		<category><![CDATA[zener]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/08/solar-battery-charger-cutoff-circuit/</guid>
		<description><![CDATA[Using very few components, I have built a solar battery charger cutoff circuitry that would enable automatic cutoff of battery charging when the potential across the battery terminals reached a voltage level chosen by the preset setting in the circuit.&#160; Medium power transistor is operated in Cutoff mode most of the time, so the quotient [...]]]></description>
			<content:encoded><![CDATA[<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/08/solar-charger.jpeg" /></p>
<div align="justify">Using very few components, I have built a solar battery charger cutoff circuitry that would enable automatic cutoff of battery charging when the potential across the battery terminals reached a voltage level chosen by the preset setting in the circuit.&nbsp; Medium power transistor is operated in Cutoff mode most of the time, so the quotient current of the circuit is fairly low in the order of few mA.&nbsp; It should be noted that the Vopen-circuit of the solar panel is few volts higher than the voltage when the panel is connected across a load.&nbsp; So, don&#8217;t adjust the preset without connecting the battery. When the circuit is turned on, the battery is directly connected with the solar panel, and hence the voltage perceived by the voltage divider is the load voltage.&nbsp; When the voltage across the load goes beyond the set point, zener conducts to turn the transistor on, which would pull the relay down and break the charging circuit.&nbsp; After the battery is disconnected, the voltage perceived by the potential divider circuit is the open-circuit voltage of the panel, which eventually creates a latch effect for the battery charger off condition.&nbsp; The relay will be ON, till there is sun light and when in the dusk, the input voltage should drop below the threshold voltage to turn off the transistor.</p>
<p>There is a flaw in this circuit. <img src='http://sudarsun.in/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>When the sun light drops, the relay turns off as the transistor is turned off.&nbsp; But now, the battery potential will be again available across the potential divider circuit.&nbsp;&nbsp; There is a potential, oscillation condition here!!</div>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=5a99a042-8a23-82c5-8d9e-e4f60933a4fd" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/08/solar-battery-charger-cutoff-circuit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>சூரிய ஒளி மின்சாரம் (Solar Electricity)</title>
		<link>http://sudarsun.in/blog/2011/07/%e0%ae%9a%e0%af%82%e0%ae%b0%e0%ae%bf%e0%ae%af-%e0%ae%92%e0%ae%b3%e0%ae%bf-%e0%ae%ae%e0%ae%bf%e0%ae%a9%e0%af%8d%e0%ae%9a%e0%ae%be%e0%ae%b0%e0%ae%ae%e0%af%8d-solar-electricity/</link>
		<comments>http://sudarsun.in/blog/2011/07/%e0%ae%9a%e0%af%82%e0%ae%b0%e0%ae%bf%e0%ae%af-%e0%ae%92%e0%ae%b3%e0%ae%bf-%e0%ae%ae%e0%ae%bf%e0%ae%a9%e0%af%8d%e0%ae%9a%e0%ae%be%e0%ae%b0%e0%ae%ae%e0%af%8d-solar-electricity/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 11:23:10 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Construction]]></category>
		<category><![CDATA[Electrical]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowWhat]]></category>
		<category><![CDATA[12v]]></category>
		<category><![CDATA[70w]]></category>
		<category><![CDATA[akshaya]]></category>
		<category><![CDATA[bolts]]></category>
		<category><![CDATA[fabrication]]></category>
		<category><![CDATA[green]]></category>
		<category><![CDATA[mounts]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[solar electricity]]></category>
		<category><![CDATA[solar panel]]></category>
		<category><![CDATA[swingarm]]></category>
		<category><![CDATA[welding]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/07/%e0%ae%9a%e0%af%82%e0%ae%b0%e0%ae%bf%e0%ae%af-%e0%ae%92%e0%ae%b3%e0%ae%bf-%e0%ae%ae%e0%ae%bf%e0%ae%a9%e0%af%8d%e0%ae%9a%e0%ae%be%e0%ae%b0%e0%ae%ae%e0%af%8d-solar-electricity/</guid>
		<description><![CDATA[The completed Solar Panel mount structure. Bottom side view of the panel.&#160; The Panel is fully resting on the Iron frame constructed in the nearby fabrication shop based on my design. This is my assistant Aakash, the boy next door.&#160; He has been my aide for all the mechanical and automobile works. The base frame [...]]]></description>
			<content:encoded><![CDATA[<p><img style="max-width: 800px; float: none;" src="http://sudarsun.in/blog/wp-content/uploads/2011/07/assembled1.jpg" /></p>
<p>The completed Solar Panel mount structure.</p>
<p><img style="max-width: 800px; float: none;" src="http://sudarsun.in/blog/wp-content/uploads/2011/07/assembled2.jpg" /></p>
<p>Bottom side view of the panel.&nbsp; The Panel is fully resting on the Iron frame constructed in the nearby fabrication shop based on my design.</p>
<p><img style="max-width: 800px; float: none;" src="http://sudarsun.in/blog/wp-content/uploads/2011/07/assistant.jpg" /></p>
<p>This is my assistant Aakash, the boy next door.&nbsp; He has been my aide for all the mechanical and automobile works.</p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/07/frame.jpg" /></p>
<p>The base frame of 30&#8243; x 21&#8243; with the center piece at 15&#8243;.</p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/07/frame2.jpg" /></p>
<p>The base frame from perspective projection.&nbsp; The center piece is a 5&#8243; x 2&#8243; 10mm plate welded at the center.&nbsp; The holes are 10mm diameter drilled at 1&#8243; and 3&#8243; from the top and centered. </p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/07/pole.jpg" /></p>
<p>The main load bearing vertical pole measuring approx 2m and 2&#8243; diameter.&nbsp; The base plate is 6&#8243; in horizontal length and 6&#8243; on vertical depths.&nbsp; The holes are 1/2&#8243; and drilled at 3&#8243; and 5&#8243;. </p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/07/panel1.jpg" /></p>
<p>This is the solar panel bought from Akshaya Solar Pvt Ltd, AP.&nbsp; The panel is rated 12v 70w and of dimension 1200mm x 21&#8243; and weighting approximately 5kg.</p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/07/swingarm1.jpg" /></p>
<p>The swing arm connecting the base frame and vertical pole.&nbsp; The holes are 10 mm diameter and punched at 1&#8243; and 3&#8243; from the top.&nbsp; The bottom pipe is 2.25&#8243; diameter and about 5&#8243; long.&nbsp; The cross bolt is 0.5&#8243; diameter.&nbsp; This swing arm mounts on the pole on one side and attached to the base frame on the other side.&nbsp; The base frame is pivoted on the top hole with swing setting using one of the 3 bottom holes.&nbsp; The positions are provided to compensate of uttrayanam (north bound sun movement) and dakshanayanam (south bound sun&#8217;s movement).</p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/07/through-bolt.jpg" /></p>
<p>The bottom link of the vertical pole.&nbsp; This U link attaches to the parapet wall, which is 6&#8243; is width and the cross bolts pass through the wall to lock the vertical plates.&nbsp; The horizontal and the vertical plates are 6&#8243;x2&#8243; and 10mm in thickness.</p>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/07/bolts.jpg" /></p>
<p>These are the bolts used.&nbsp; The 1&#8243; (4 nos) bolts are used to secure the solar panel on the base frame.&nbsp; The 1.5&#8243; bolts are used to secure the base frame to the swing arm.&nbsp; The 4&#8243; bolt is used to secure the swing arm to the vertical pole and the 8&#8243; bolts are the bolts to secure the entire unit on the parapet wall by passing through the wall.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=2f6ce0bc-2f86-83d9-89fd-69aacaae4e56" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/07/%e0%ae%9a%e0%af%82%e0%ae%b0%e0%ae%bf%e0%ae%af-%e0%ae%92%e0%ae%b3%e0%ae%bf-%e0%ae%ae%e0%ae%bf%e0%ae%a9%e0%af%8d%e0%ae%9a%e0%ae%be%e0%ae%b0%e0%ae%ae%e0%af%8d-solar-electricity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PROXIM ORINOCO 802.11 a/b/g/n</title>
		<link>http://sudarsun.in/blog/2011/06/proxim-orinoco-802-11-abgn/</link>
		<comments>http://sudarsun.in/blog/2011/06/proxim-orinoco-802-11-abgn/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 08:00:14 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[802.11]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ndiswrapper]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[orinoco]]></category>
		<category><![CDATA[proxim]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/06/proxim-orinoco-802-11-abgn/</guid>
		<description><![CDATA[Did you try this page for the driver? http://list.driverguide.com/list/company861/LINUX/ Procedure for setting up proxim driver is given here:- http://questier.com/howto.html#Proxim If you want to try an alternate device, use this list linux compatible devices:- http://www.cyberciti.biz/tips/linux-usb-wireless-compatibility-adapter-list.html How to on Wireless networking:- http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch13_:_Linux_Wireless_Networking If there is a windows driver, you can use &#8220;ndiswrapper&#8221; to setup a Linux module [...]]]></description>
			<content:encoded><![CDATA[<p>Did you try this page for the driver?<br />
<a target="_blank" href="http://list.driverguide.com/list/company861/LINUX/">http://list.driverguide.com/list/company861/LINUX/</a></p>
<p>Procedure for setting up proxim driver is given here:-<br />
<a target="_blank" href="http://questier.com/howto.html#Proxim">http://questier.com/howto.html#Proxim</a></p>
<p>If you want to try an alternate device, use this list linux compatible devices:-<br />
<a target="_blank" href="http://www.cyberciti.biz/tips/linux-usb-wireless-compatibility-adapter-list.html">http://www.cyberciti.biz/tips/linux-usb-wireless-compatibility-adapter-list.html</a></p>
<p>How to on Wireless networking:-<br />
<a target="_blank" href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch13_:_Linux_Wireless_Networking">http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch13_:_Linux_Wireless_Networking</a></p>
<p>If there is a windows driver, you can use &#8220;<a target="_blank" href="http://en.wikipedia.org/wiki/NDISwrapper">ndiswrapper</a>&#8221; to setup a Linux module atop the windows driver sys and inf files. Try this as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/06/proxim-orinoco-802-11-abgn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>no include path in which to search for limits.h</title>
		<link>http://sudarsun.in/blog/2011/06/no-include-path-in-which-to-search-for-limits-h/</link>
		<comments>http://sudarsun.in/blog/2011/06/no-include-path-in-which-to-search-for-limits-h/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 05:28:53 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowWhat]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[g++]]></category>
		<category><![CDATA[include_next]]></category>
		<category><![CDATA[limits.h]]></category>
		<category><![CDATA[stlport]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/06/no-include-path-in-which-to-search-for-limits-h/</guid>
		<description><![CDATA[Why compiling STLport 5.1.5 using g++-4.4, one might get an error like the following:- Building CXX object libs/bgt/CMakeFiles/bgt.dir/error.oIn file included from /opt/projects/stl/stlport/limits.h:27,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /usr/include/c++/4.4/../4.4.5/climits:43,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/climits:27,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_algobase.h:42,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_alloc.h:47,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_string.h:23,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_ios_base.h:34,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_ios.h:23,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_ostream.h:24,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/ostream:31,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/dev/libs/bgt/error.cpp:18:/usr/include/../include/limits.h:125: error: no include path in which to search for limits.hIn file included from [...]]]></description>
			<content:encoded><![CDATA[<p>Why compiling STLport 5.1.5 using g++-4.4, one might get an error like the following:-<br />
<blockquote>Building CXX object libs/bgt/CMakeFiles/bgt.dir/error.o<br />In file included from /opt/projects/stl/stlport/limits.h:27,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /usr/include/c++/4.4/../4.4.5/climits:43,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/climits:27,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_algobase.h:42,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_alloc.h:47,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_string.h:23,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_ios_base.h:34,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_ios.h:23,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_ostream.h:24,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/ostream:31,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/dev/libs/bgt/error.cpp:18:<br /><b><font color="red">/usr/include/../include/limits.h:125: error: no include path in which to search for limits.h</font></b><br />In file included from /opt/projects/stl/stlport/stl/_num_put.c:26,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_num_put.h:183,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_ostream.c:26,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_ostream.h:380,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/ostream:31,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/dev/libs/bgt/error.cpp:18:<br />/opt/projects/stl/stlport/stl/_limits.h:148: error: ‘CHAR_BIT’ was not declared in this scope<br />/opt/projects/stl/stlport/stl/_limits.h:253: error: ‘CHAR_MIN’ was not declared in this scope<br />..</p></blockquote>
<p>Looks like it is a bug in the STLport package itself as per the <a href="http://stlport.sourceforge.net/News.shtml" target="_blank">Release notes</a> of STLport.&nbsp; After updating to STLport-5.2.1, the issue got fixed automatically.</p>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/06/no-include-path-in-which-to-search-for-limits-h/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oil Cooler Assembly for Royal Enfield Thunderbird 350 AVL</title>
		<link>http://sudarsun.in/blog/2011/05/oil-cooler-assembly-for-royal-enfield-thunderbird-350-avl/</link>
		<comments>http://sudarsun.in/blog/2011/05/oil-cooler-assembly-for-royal-enfield-thunderbird-350-avl/#comments</comments>
		<pubDate>Mon, 09 May 2011 10:49:06 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Automobiles]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[KnowWhat]]></category>
		<category><![CDATA[assembly]]></category>
		<category><![CDATA[avl]]></category>
		<category><![CDATA[chinmay]]></category>
		<category><![CDATA[dangre]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[nylon]]></category>
		<category><![CDATA[oil]]></category>
		<category><![CDATA[oil pump]]></category>
		<category><![CDATA[oil-cooler]]></category>
		<category><![CDATA[rocker]]></category>
		<category><![CDATA[sludge]]></category>
		<category><![CDATA[tb]]></category>
		<category><![CDATA[temperature]]></category>
		<category><![CDATA[thunderbird]]></category>
		<category><![CDATA[viscosity]]></category>
		<category><![CDATA[y pipe]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/05/oil-cooler-assembly-for-royal-enfield-thunderbird-350-avl/</guid>
		<description><![CDATA[The performance of a IC engine is directly dependent on the difference between the ambient temperature and the exhaust temperature.&#160; If you had learned about IC engines, it is apparent that the power generated is proportional to the temperature difference between the inlet and the outlet feed for the engine.&#160; So, it is critical to [...]]]></description>
			<content:encoded><![CDATA[<div align="justify">The performance of a IC engine is directly dependent on the difference between the ambient temperature and the exhaust temperature.&nbsp; If you had learned about IC engines, it is apparent that the power generated is proportional to the temperature difference between the inlet and the outlet feed for the engine.&nbsp; So, it is critical to operate the engine under low temperature such that maximum power is generated by the engine.&nbsp; To keep the engine cool, engine oil is used, which also serves as the lubricant for the moving parts.&nbsp; Engine oil is the blood for an engine and it&#8217;s circulation is crucial for maintaining the temperature and low frictional loses.&nbsp; There is no oil cooler assembly for TB, or for that matter any RE bikes in India.&nbsp; </div>
<p><img src="http://sudarsun.in/blog/wp-content/uploads/2011/05/IMG060.jpg" /></p>
<div align="justify">Chinmay Dhangre from Pune generously offered to supply a modified oil cooler.&nbsp; I was excited to read a blog post by Chinmay at <a target="_blank" href="http://www.indiancarsbikes.in/automotive-technology/royal-enfield-avl-engine-oil-cooler-update-real-world-data-4175/">http://www.indiancarsbikes.in/automotive-technology/royal-enfield-avl-engine-oil-cooler-update-real-world-data-4175/</a>. When I contacted Chinmay at <strong>macasp@gmail.com</strong>, he was readily helping me to get the necessary fitments and hardware.</div>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/05/IMG061.jpg" /></p>
<div align="justify">The reason for keep the inlet at a higher position than the outlet is to ensure that some oil is pre-stored in the oil cooler compartment all the time.&nbsp; When the engine is started, it takes &gt;10 seconds for the oil to reach the rocker, tappet assembly through the Y pipe.&nbsp; If I had put the oil cooler in the middle, it would take more time to fill the oil cooler and then reach the rocker assembly.&nbsp; Having this inverted connection helps the oil start its circulation faster.</div>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/05/IMG062.jpg" /></p>
<div align="justify">The oil cooler assembly and the Y pipes are connect via a nylon coated reinforced rubber tube.&nbsp; While fitting so, care should be taken for keep the pipes away from the silencer tube.&nbsp; Also, it is to be ensured the the joints don&#8217;t leak after they are secured by clamps.&nbsp; In the above picture, one clamp is missing!</div>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/05/IMG063.jpg" /></p>
<div align="justify">I had used one clamp to offset the nylon pipe from the silencer tube.&nbsp; I will have to use some other method for this offseting, as I am indeed wasting a good clamp!</div>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/05/IMG0661.jpg" /></p>
<div align="justify">While draining the oil during oil replacement, one has to take care of removing the oil in the oil-cooler compartment by opening the bottom vent.&nbsp; Otherwise, sludge can start to accumulate inside the oil cooler assembly, which could eventually block the oil flow later.&nbsp; So, it should be practice that the oil cooler assembly is cleaned every time the engine is serviced.</div>
<p><img style="max-width: 800px;" src="http://sudarsun.in/blog/wp-content/uploads/2011/05/IMG065.jpg" /></p>
<div align="justify">The completed bike is able to keep the engine oil temperature lower by allowing the natural air flow cooling off the oil through the oil-cooler fins.&nbsp; Do mind that while the bike is stationery, the oil cooler cannot provide any help as it needs air flow for cooling.</div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/05/oil-cooler-assembly-for-royal-enfield-thunderbird-350-avl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  sudarsun.in/blog/category/hacks/feed/ ) in 0.40427 seconds, on May 22nd, 2012 at 2:02 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on May 22nd, 2012 at 3:02 am UTC -->
