<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
    <channel>
    <title>Circuit Broken</title>
    <link>http://bdsatish.in/CircuitBroken/</link>
    <description>... and I know how to fix it !</description>
    <language>en-us</language>           
    <generator>Nucleus CMS v3.64</generator>
    <copyright>©</copyright>             
    <category>Weblog</category>
    <docs>http://backend.userland.com/rss</docs>
    <image>
        <url>http://bdsatish.in/CircuitBroken/skins/bdsatish/animated_favicon1.gif</url>
        <title>Circuit Broken</title>
        <link>http://bdsatish.in/CircuitBroken/</link>
    </image>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/CircuitBroken" /><feedburner:info uri="circuitbroken" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>CircuitBroken</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
    <title>Deleting unused Linux kernels</title>
    <author>bdsatish</author>
    <link>http://feedproxy.google.com/~r/CircuitBroken/~3/3p8UCLZdPc4/xml-rss2.php</link>
    <description>&lt;p&gt;A quick link to GitHub's &lt;a href="https://github.com/bdsatish/kernel-clean"&gt;kernel-clean script &lt;/a&gt;, authored by me.&lt;p&gt;kernel-clean is a shell-script to remove (clean / purge) unused Linux kernels from any Debian-based system (Ubuntu, Linux Mint, MEPIS, aptosid, etc.). It gets rid of deprecated kernel images, associated header files, dependent packages, symlinks and their associated drivers. Also, unpackaged cruft below /lib/modules/$KVERS will be deleted. Neither the currently-running, nor the newest kernels will be offered for removal. It is licensed under GPLv2 or later.&lt;/p&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=rMmJDI_pc7Q:lc4el184BUU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=rMmJDI_pc7Q:lc4el184BUU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?i=rMmJDI_pc7Q:lc4el184BUU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=rMmJDI_pc7Q:lc4el184BUU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CircuitBroken/~4/3p8UCLZdPc4" height="1" width="1"/&gt;</description>
    <category>Software</category>
    <comments>xml-rss2.php?itemid=26</comments>
    <pubDate>Mon, 6 Feb 2012 19:12:39 +1100</pubDate>
<feedburner:origLink>http://bdsatish.in/CircuitBroken/xml-rss2.php?itemid=26</feedburner:origLink></item><item>
    <title>Shell script to build GCC Snapshot</title>
    <author>bdsatish</author>
    <link>http://feedproxy.google.com/~r/CircuitBroken/~3/_GG9wKWp-CY/xml-rss2.php</link>
    <description>&lt;p&gt;I use GCC (gcc, g++, gfortran) and GDB on a daily basis. It's very important that the compiler itself be  "bug-free". Most of the new features will be in &lt;a href="http://gcc.gnu.org/svn.html"&gt;GCC's SVN trunk&lt;/a&gt;;  these will take many months or even years to be in the "stable" release. For most practical purposes, the trunk is "stable" enough to be usable -- you can try out the new features in the compiler and also get the latest bug fixes. I'm not a GCC developer myself but I do occasionally submit bug reports (like &lt;a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44912"&gt;#44912&lt;/a&gt;, &lt;a href="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44929"&gt;#44929&lt;/a&gt; and &lt;a href="http://gcc.gnu.org/bugzilla/buglist.cgi?emailcc1=1&amp;emailreporter1=1&amp;emaillongdesc1=1&amp;resolution=---&amp;resolution=FIXED&amp;resolution=INVALID&amp;resolution=WONTFIX&amp;resolution=DUPLICATE&amp;resolution=WORKSFORME&amp;resolution=MOVED&amp;emailtype1=substring&amp;cf_known_to_fail_type=allwords&amp;cf_known_to_work_type=allwords&amp;query_format=advanced&amp;emailassigned_to1=1&amp;bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=SUSPENDED&amp;bug_status=WAITING&amp;bug_status=REOPENED&amp;bug_status=RESOLVED&amp;email1=bdsatish"&gt;others&lt;/a&gt;) and testcases. I do like to browse GCC source code, so I use the &lt;a href="http://gcc.gnu.org/snapshots.html"&gt;GCC weekly builds&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.bdsatish.in/scripts/gcc_snapshot.sh.txt"&gt;Here is small bash script&lt;/a&gt;. It downloads the GCC and GDB weekly snapshots from their FTP servers, unpacks the archive, configures and compiles (make &amp;amp;&amp;amp; make install) automatically. I've put in some options for &lt;a href="http://en.wikipedia.org/wiki/GNU_make"&gt;make&lt;/a&gt; that I normally use on my system. If you already have old source code and would like to update it to the latest weekly snapshot, pass the "--update" switch. I've put up the code on &lt;a href="https://github.com/bdsatish/gcc_snapshot_update"&gt;GitHub&lt;/a&gt; in case I update it later.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=HPaElUNqEuI:XoKMC-BeK6c:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=HPaElUNqEuI:XoKMC-BeK6c:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?i=HPaElUNqEuI:XoKMC-BeK6c:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=HPaElUNqEuI:XoKMC-BeK6c:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CircuitBroken/~4/_GG9wKWp-CY" height="1" width="1"/&gt;</description>
    <category>Software</category>
    <comments>xml-rss2.php?itemid=25</comments>
    <pubDate>Tue, 1 Mar 2011 21:06:05 +1100</pubDate>
<feedburner:origLink>http://bdsatish.in/CircuitBroken/xml-rss2.php?itemid=25</feedburner:origLink></item><item>
    <title>Language : : Google Transliteration IME for Sanskrit</title>
    <author>bdsatish</author>
    <link>http://feedproxy.google.com/~r/CircuitBroken/~3/bX944UixDOU/xml-rss2.php</link>
    <description>&lt;p&gt;&lt;a href="http://www.google.com/ime/transliteration/"&gt;Google Transliteration IME (Input Method Editor) &lt;/a&gt; is a free (gratis) software for many Indian languages. It lets you type Sanskrit, Kannada, etc. from your English keyboard. An excellent feature is automatic word-completion using its built-in dictionary (which works offline too). For example, just type 'kR' and it suggests &amp;#2325;&amp;#2371;&amp;#2359;&amp;#2381;&amp;#2339;, &amp;#2325;&amp;#2371;&amp;#2340;&amp;#2381;&amp;#2357;&amp;#2366; , etc. &lt;/p&gt; &lt;p&gt;It's annoying to note that there is no key mapping for Devanagari da&amp;#7751;&amp;#7693;a ( &amp;#2404; ) or double da&amp;#7751;&amp;#7693;a ( &amp;#2405; ), even if you use the on-screen keyboard. Another problem with the Sanskrit IME is that it is not fully phonetic. For example, typing 'priyan' does not show &amp;#2346;&amp;#2381;&amp;#2352;&amp;#2367;&amp;#2351;&amp;#2344;&amp;#2381; at all! It suggests something else like &amp;#2346;&amp;#2352;&amp;#2381;&amp;#2351;&amp;#2344;, &amp;#2346;&amp;#2381;&amp;#2352;&amp;#2367;&amp;#2351;&amp;#2366;&amp;#2344;, etc. &lt;/p&gt; &lt;p&gt;I've solved both of these problems using the &lt;a href="http://www.google.com/ime/transliteration/help.html#canonical"&gt;"Canonical  Schemes"&lt;/a&gt;. Basically, Google lets you define your own key-mappings if you are not happy with the default ones. It uses something called "classes" (not OOP!) in a scheme (.scm) file. I have created a scheme file which uses the &lt;a href="http://en.wikipedia.org/wiki/Harvard-Kyoto"&gt;Harvard Kyoto&lt;/a&gt; mappings for Devanagari transliteration. &lt;a href="http://www.bdsatish.in/lang/HarvardKyoto.scm"&gt;Download HarvardKyoto.scm  here&lt;/a&gt;. Save it in C:\Program Files\Google\Google Sanskrit Input\Schemes and that's it. The next time you open Google IME, you'll see a 'C' icon. Just click it and start using.&lt;/p&gt;&lt;p&gt; The da&amp;#7751;&amp;#7693;a  (&amp;#2404;  , U+0964)is mapped to vertical line ( |, U+007C). The file is simple enough to read, and you can modify it to &lt;a href="http://en.wikipedia.org/wiki/ITRANS"&gt;ITRANS&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/ISO_15919"&gt;ISO 15919&lt;/a&gt;, etc. &lt;/p&gt;&lt;p&gt; The file HarvardKyoto.scm is copyrighted by me (Satish BD) and released under the &lt;a href="http://www.gnu.org/licenses/gpl-3.0.txt"&gt;GNU General Public License v3&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=td_ib0EEnao:K92nr9bBwrk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=td_ib0EEnao:K92nr9bBwrk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?i=td_ib0EEnao:K92nr9bBwrk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=td_ib0EEnao:K92nr9bBwrk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CircuitBroken/~4/bX944UixDOU" height="1" width="1"/&gt;</description>
    <category>Languages</category>
    <comments>xml-rss2.php?itemid=24</comments>
    <pubDate>Sun, 26 Dec 2010 06:25:37 +1100</pubDate>
<feedburner:origLink>http://bdsatish.in/CircuitBroken/xml-rss2.php?itemid=24</feedburner:origLink></item><item>
    <title>Software : : Communications and Signal Processing</title>
    <author>bdsatish</author>
    <link>http://feedproxy.google.com/~r/CircuitBroken/~3/2SFF9bn0Uf4/xml-rss2.php</link>
    <description>&lt;p&gt;Happy Independence Day ! Celebrating 63 years of Indian Independence! &lt;/p&gt;&lt;p&gt;Of late, I've been doing a lot of programming in &lt;a href="http://en.wikipedia.org/wiki/Fortran_2003#Fortran_2003" target="_blank"&gt;Fortran&lt;/a&gt;. No, it's not a dead language. Modern Fortran is a fully object-oriented language with array-like operations built into the language itself, making it more like "compiled Matlab". &lt;a href="http://fortranwiki.org/fortran/show/Fortran+2003" target="_blank"&gt;Fortran Wiki&lt;/a&gt; is an excellent starting point.&lt;/p&gt;&lt;p&gt;That said, I have written up a few thousand lines of code for Communications and Signal Processing routines. The project is licensed under GNU General Public License. So, it's free and open-source software. The project is hosted at &lt;a href="http://bitbucket.org/bdsatish/comsigproc/" target="_blank"&gt;BitBucket&lt;/a&gt;. I've tested it on GNU/Linux (Ubuntu) and Windows/Cygwin. It's nice to know that my software is equivalent to 40,000 US dollars of development effort. Wow ! Thanks to &lt;a href="http://www.ohloh.net/p/comsigproc"&gt;Ohloh&lt;/a&gt; for the metrics, I've added a badge on the left sidebar. &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=2dPvUANeyU0:faY6nZcpA6o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=2dPvUANeyU0:faY6nZcpA6o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?i=2dPvUANeyU0:faY6nZcpA6o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=2dPvUANeyU0:faY6nZcpA6o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CircuitBroken/~4/2SFF9bn0Uf4" height="1" width="1"/&gt;</description>
    <category>Software</category>
    <comments>xml-rss2.php?itemid=22</comments>
    <pubDate>Sun, 15 Aug 2010 06:20:34 +1100</pubDate>
<feedburner:origLink>http://bdsatish.in/CircuitBroken/xml-rss2.php?itemid=22</feedburner:origLink></item><item>
    <title>Language : : Writing Chinese in Devanagari</title>
    <author>bdsatish</author>
    <link>http://feedproxy.google.com/~r/CircuitBroken/~3/XRutuel4KnM/xml-rss2.php</link>
    <description>&lt;p&gt;It has been six weeks in &lt;a href="http://en.wikipedia.org/wiki/Hangzhou"&gt;Hangzhou&lt;/a&gt;,  China. This has given me enough time to decipher the &lt;a href="http://en.wikipedia.org/wiki/Standard_Mandarin"&gt;Mandarin&lt;/a&gt; language.   &lt;a href="http://en.wikipedia.org/wiki/People%27s_Republic_of_China"&gt;Mainland China&lt;/a&gt; uses &lt;a href="http://en.wikipedia.org/wiki/Simplified_Chinese"&gt;Simplified Chinese&lt;/a&gt;. Chinese cannot be  &lt;a href="http://en.wikipedia.org/wiki/Transliteration"&gt;transliterated&lt;/a&gt; but only  &lt;a href="http://en.wikipedia.org/wiki/Transcription_(linguistics)"&gt;transcribed&lt;/a&gt;. What makes Chinese so different are the following facts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;There is no concept of vowels (a,e,i,o,u) or consontants. It's all about &lt;a href="http://www.99mychinese.com/chinese/chinese-pinyin/54-chinese-pinyin-initials-and-finals"&gt;initials, finals&lt;/a&gt; and &lt;a href="http://people.wku.edu/shizhen.gao/Chinese101/pinyin/tones.htm"&gt;tones&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The same character can correspond to two (or more) different sounds.  For example, &amp;#35328; can be transcribed as &lt;i&gt;yÃ¡n&lt;/i&gt; or &lt;i&gt;yÃ­n&lt;/i&gt; or &lt;i&gt;yÃ n&lt;/i&gt;&lt;/li&gt; &lt;li&gt;The same sound can correspond to two (or more) different characters. For example, &lt;i&gt;t&amp;#257;&lt;/i&gt; can be written as &amp;#20182; or &amp;#22905; or &amp;#36367; &lt;/li&gt; &lt;/ol&gt;&lt;p&gt;Here, I have come up with a scheme to pronounce Chinese as closely as possible by the Indian tongue. It's easy because Indian languages (say Hindi or Kannada) are "phonetic" -- we pronounce the way we write. One letter, one sound.&lt;/p&gt;&lt;p&gt;The rest of the article assumes that you have some knowledge of &lt;a href="http://en.wikipedia.org/wiki/Pinyin"&gt;Pinyin&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Devanagari"&gt;Devanagari&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/IPA"&gt;International Phonetic Alphabet&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Vedic_accent"&gt;Vedic Accent&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Sanskrit#Phonology"&gt;Sanskrit phonology&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Mandarin_phonology"&gt;Mandarin phonology&lt;/a&gt;. Read on &lt;a href="http://bdsatish.in/CircuitBroken/index.php?itemid=21"&gt;full article here&lt;/a&gt; !&lt;/p&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=qPRqnPolb4c:MF0NKC8wnPg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=qPRqnPolb4c:MF0NKC8wnPg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?i=qPRqnPolb4c:MF0NKC8wnPg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=qPRqnPolb4c:MF0NKC8wnPg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CircuitBroken/~4/XRutuel4KnM" height="1" width="1"/&gt;</description>
    <category>Languages</category>
    <comments>xml-rss2.php?itemid=21</comments>
    <pubDate>Thu, 3 Jun 2010 18:04:18 +1100</pubDate>
<feedburner:origLink>http://bdsatish.in/CircuitBroken/xml-rss2.php?itemid=21</feedburner:origLink></item><item>
    <title>Software : : Fixed-point Math for Embedded Systems, Part 2</title>
    <author>bdsatish</author>
    <link>http://feedproxy.google.com/~r/CircuitBroken/~3/OdGuGUrswGA/xml-rss2.php</link>
    <description>&lt;p&gt;As mentioned in my &lt;a href="http://bdsatish.in/CircuitBroken/index.php?itemid=19"&gt;previous post &lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Fixed-point_arithmetic"&gt;Fixed-point Arithmetic&lt;/a&gt; is proving more and more interesting. Ahem, I created an Open Source project at Bitbucket ! Here's the link : &lt;a href="http://bitbucket.org/bdsatish/fixedpointmath/"&gt;Fixed-Point Math Library&lt;/a&gt;. You can &lt;a href="http://bitbucket.org/bdsatish/fixedpointmath/get/tip.zip"&gt;download the latest version &lt;/a&gt; of software for free and try it out. I've created versions 0.1, 0.2 and 0.3, but it's always suggested to use the 'TIP'&lt;/p&gt;&lt;p&gt;I managed to code a thousand lines in just three days (Happy Easter !) over the long weekend. So the following, features are complete: &lt;/p&gt; &lt;ol&gt;&lt;li&gt;Conversions among fixed-point, floating-point and ASCII strings (with or without rounding) &lt;/li&gt;&lt;li&gt;Extracting integer-part and fractional-part of Q-number, absolute value &amp;amp; saturation &lt;/li&gt;&lt;li&gt;Add, Subtract, Multiply, Divide (different versions for dealing with rounding and saturation in different &lt;a href="http://en.wikipedia.org/wiki/Q_%28number_format%29"&gt;Q-formats&lt;/a&gt; available) &lt;/li&gt;&lt;li&gt;Fixed-point Square-root and Inverse Sqrt&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;
&lt;p&gt;One more feature I added are unit-tests -- as and when I implement new code, &lt;a href="http://cutest.sourceforge.net/"&gt;CuTesT &lt;/a&gt; will automatically generate template for my test suite. Currently there are about 18 test suites, take a look at the &lt;code&gt;test/&lt;/code&gt; &lt;br /&gt;
folder in the downloaded zip. Of course, all of them are passing !&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=cKGtIJBrO2M:-hozpfMwUYI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=cKGtIJBrO2M:-hozpfMwUYI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?i=cKGtIJBrO2M:-hozpfMwUYI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=cKGtIJBrO2M:-hozpfMwUYI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CircuitBroken/~4/OdGuGUrswGA" height="1" width="1"/&gt;</description>
    <category>Software</category>
    <comments>xml-rss2.php?itemid=20</comments>
    <pubDate>Mon, 5 Apr 2010 16:49:24 +1100</pubDate>
<feedburner:origLink>http://bdsatish.in/CircuitBroken/xml-rss2.php?itemid=20</feedburner:origLink></item><item>
    <title>Software : : Fixed-point Math for Embedded Systems, Part 1</title>
    <author>bdsatish</author>
    <link>http://feedproxy.google.com/~r/CircuitBroken/~3/TjYmoCNsqcM/xml-rss2.php</link>
    <description>&lt;p&gt;Hi there ! As a DSP programmer, I often encounter this situation: I need to do a lot of math, but the underlying CPU doesn't have a floating-point unit at all ! So, the general technique used is &lt;a href="http://en.wikipedia.org/wiki/Fixed-point_arithmetic"&gt;Fixed-point Arithmetic&lt;/a&gt;. The basic idea is that every real number, like 3.14159, is mapped to an integer. We all know that integer arithmetic is faster than floating-point arithmetic. For ex, 32-bit integer multiply (MUL EDX) takes about 5 clock cycles on a 80x86, whereas 32-bit IEEE float multiply (FMUL) takes over 10 clock cycles. &lt;/p&gt; &lt;p&gt;There you are, I rolled up my sleeves and wrote my own C library for dealing with Q-formats. There is basic support for conversion from float-to-fixed, addition, saturation, etc. I will be updating it soon with algorithms for sqrt( ), sin( ), cos( ) and finally &lt;a href="http://en.wikipedia.org/wiki/Fast_Fourier_transform"&gt;FFT&lt;/a&gt;. The current version of the software is just a header file. A sample test program is also attached. You can download the software here: &lt;a href="http://www.bdsatish.in/software/FixedPointMath.zip"&gt;FixedPointMathLibrary&lt;/a&gt;. The software is licensed under the &lt;a href="http://www.opensource.org/licenses/NOSL3.0.html"&gt;Non-Profit Open Software License 3.0.&lt;/a&gt; &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=PzXoKGElvBQ:t9v3QLMpA6E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=PzXoKGElvBQ:t9v3QLMpA6E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?i=PzXoKGElvBQ:t9v3QLMpA6E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=PzXoKGElvBQ:t9v3QLMpA6E:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CircuitBroken/~4/TjYmoCNsqcM" height="1" width="1"/&gt;</description>
    <category>Software</category>
    <comments>xml-rss2.php?itemid=19</comments>
    <pubDate>Tue, 16 Mar 2010 18:28:33 +1100</pubDate>
<feedburner:origLink>http://bdsatish.in/CircuitBroken/xml-rss2.php?itemid=19</feedburner:origLink></item><item>
    <title>Language :: Catch up with News in Sanskrit</title>
    <author>bdsatish</author>
    <link>http://feedproxy.google.com/~r/CircuitBroken/~3/bhg55CUBg4M/xml-rss2.php</link>
    <description>&lt;p&gt;In this post, I'll introduce you to web resources that help you to catch up with the news in Sanskrit, free of cost, everyday.&lt;/p&gt;&lt;p&gt;1. &lt;strong&gt;&lt;a href="http://allindiaradio.org/"&gt;All India Radio (AIR)&lt;/a&gt; &lt;/strong&gt;  &lt;br /&gt;Since the 1980s, Indians are addicted to two things - the television and the radio, or more precisely, &lt;a href="http://www.ddinews.gov.in/"&gt; Doordarshan &lt;/a&gt;and &lt;a href="http://en.wikipedia.org/wiki/All_India_Radio"&gt;Akashavani&lt;/a&gt;, as they were then called.If you think you are missing those good old times, here's some solace.The AIR has been broadcasting news in &lt;a href="http://www.newsonair.com/nsd_schedule.asp"&gt;several languages &lt;/a&gt;everyday. You can subscribe to the RSS feed of Sanskrit news through this link: &lt;br /&gt;&lt;a href="http://sanskritdocuments.org/news/air_news.xml"&gt;http://sanskritdocuments.org/news/air_news.xml &lt;/a&gt;&lt;br /&gt;I use &lt;a href="http://www.google.com/reader"&gt;Google Reader&lt;/a&gt; which neatly streams the MP3 right inside the browser. If youchoose to listen regularly, just &lt;a href="http://sanskritdocuments.org/news/newslisteners.html"&gt;register your name on this link&lt;/a&gt;. Of course, I am the 18-th on the list !You can find all previous archives and the news transcripts at &lt;a href="http://sanskritdocuments.org/sanskritnews.html"&gt;Sanskrit Documents &lt;/a&gt;&lt;/p&gt;&lt;p&gt;2. &lt;strong&gt;&lt;a href="http://sudharma.epapertoday.com/"&gt;Sudharma -- World's only Sanskrit Newspaper&lt;/a&gt;&lt;/strong&gt; &lt;br/&gt;&lt;a href="http://en.wikipedia.org/wiki/Sudharma"&gt;Sudharma&lt;/a&gt; was started in 1970 by a Mysorean, Varadaraja Iyengar. As such, you'll find a lot of local news, in and around Bangalore.This newspaper is struggling for its existence. The least you can do is to spread awareness aboutthis to your friends. You can subscribe to its RSS feeds here: &lt;br /&gt;&lt;a href="http://feeds.feedburner.com/sanskritnews"&gt;http://feeds.feedburner.com/sanskritnews&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=Df67VsGF9f4:JM-9rg8MzJM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=Df67VsGF9f4:JM-9rg8MzJM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?i=Df67VsGF9f4:JM-9rg8MzJM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=Df67VsGF9f4:JM-9rg8MzJM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CircuitBroken/~4/bhg55CUBg4M" height="1" width="1"/&gt;</description>
    <category>Languages</category>
    <comments>xml-rss2.php?itemid=18</comments>
    <pubDate>Sun, 31 Jan 2010 11:36:12 +1100</pubDate>
<feedburner:origLink>http://bdsatish.in/CircuitBroken/xml-rss2.php?itemid=18</feedburner:origLink></item><item>
    <title>Software :: One input, Multiple Outputs</title>
    <author>bdsatish</author>
    <link>http://feedproxy.google.com/~r/CircuitBroken/~3/kzu0UMwUyHA/xml-rss2.php</link>
    <description>&lt;p&gt;There are various document formats in use today: Microsoft Word (*.doc), &lt;a href="http://www.openoffice.org/"&gt;Open Office&lt;/a&gt; (*.odf), &lt;a href="http://get.adobe.com/reader/"&gt;Portable Document Format&lt;/a&gt; (*.pdf), XML, HTML, &lt;a href="http://www.docbook.org"&gt;Docbook&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Rich_Text_Format"&gt;Rich Text Format&lt;/a&gt; (*.rtf), &lt;a href="http://unixhelp.ed.ac.uk/CGI/man-cgi"&gt;Unix man pages&lt;/a&gt;, GNU &lt;a href="http://en.wikipedia.org/wiki/Troff"&gt;N/T/ROFF&lt;/a&gt;, GNU &lt;a href="http://en.wikipedia.org/wiki/Info_(Unix)"&gt;Info&lt;/a&gt;, GNU &lt;a href="http://www.gnu.org/software/texinfo/"&gt;Texi&lt;/a&gt;, etc. However, the best document format that exists, according to me, is &lt;a href="http://www.latex-project.org/"&gt;LaTeX&lt;/a&gt;. It has been in use for several decades and has stood the test of time. Nothing can beat LaTeX (or TeX, in general) when it comes to typesetting Mathematics. In this post, I'll give examples of a software converters which accept LaTeX input and convert it to various other output formats. I call this as the principle of "one input, multiple output" -- write once and use it in whatever format you want ! As an example, head over to my &lt;a href="http://www.bdsatish.in/math/channel_estimation/"&gt;Channel Estimation&lt;/a&gt; article, which was automatically converted from LaTeX to XHTML.&lt;/p&gt;&lt;p&gt;Don't forget to &lt;a href="http://feeds.feedburner.com/CircuitBroken"&gt;subscribe to RSS feed&lt;/a&gt;! Read the full article! &lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=BrRvxsTsdvE:n_aT1l5o9T4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=BrRvxsTsdvE:n_aT1l5o9T4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?i=BrRvxsTsdvE:n_aT1l5o9T4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=BrRvxsTsdvE:n_aT1l5o9T4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CircuitBroken/~4/kzu0UMwUyHA" height="1" width="1"/&gt;</description>
    <category>Software</category>
    <comments>xml-rss2.php?itemid=14</comments>
    <pubDate>Tue, 26 Jan 2010 20:34:50 +1100</pubDate>
<feedburner:origLink>http://bdsatish.in/CircuitBroken/xml-rss2.php?itemid=14</feedburner:origLink></item><item>
    <title>Signal Proc :: Channel Estimation - I, Maximum Likelihood Estimate</title>
    <author>bdsatish</author>
    <link>http://feedproxy.google.com/~r/CircuitBroken/~3/pXpZVWJST_0/xml-rss2.php</link>
    <description>&lt;p&gt;In Signal Processing and Communications, one often has to deal with unknown signals. For example, the wireless channel (air medium) distorts the transmitted signal in so many ways (&lt;a href="http://en.wikipedia.org/wiki/Rayleigh_fading"&gt;multipath fading&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Intersymbol_interference"&gt;ISI&lt;/a&gt;, etc.) that the receiver has to use its own methods to recover the signal. Generally, such signals are modeled as &lt;a href="http://en.wikipedia.org/wiki/Random_process"&gt; stochastic random processes &lt;/a&gt; and statistical methods are used to "demystify" the received waveform. The air medium can be considered to be a time-varying &lt;a href="http://en.wikipedia.org/wiki/FIR_filter"&gt;FIR filter&lt;/a&gt; and the receiver unit must estimate the properties of this wireless medium.Such techniques are called &lt;em&gt;Channel Estimation&lt;/em&gt;  methods.&lt;/p&gt;&lt;p&gt;I have begun a series of articles, in which I'll explain the various methods of channel estimation. In this post, I'll explain a method called as &lt;a href="http://en.wikipedia.org/wiki/Maximum_likelihood"&gt;Maximum Likelihood Estimate.&lt;/a&gt; I give an example on how to estimate the mean and variance of the wireless channel. To start with, I consider a time-invariant (&lt;a href="http://en.wikipedia.org/wiki/LTI_system_theory"&gt;&lt;/a&gt;) system. Later, we'll consider time-varying systems. This article involves so much math that HTML can't cope with it. I used LaTeX and converted it to pdf. &lt;a href="http://www.bdsatish.in/math/channel_estimation/channel_estimation.pdf"&gt;You can download it here.&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Please comment if you have anything to ask !&lt;/p&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=rTpD-CZhWGw:CNW6pOpjds0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=rTpD-CZhWGw:CNW6pOpjds0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?i=rTpD-CZhWGw:CNW6pOpjds0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/CircuitBroken?a=rTpD-CZhWGw:CNW6pOpjds0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/CircuitBroken?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/CircuitBroken/~4/pXpZVWJST_0" height="1" width="1"/&gt;</description>
    <category>Signal Proc</category>
    <comments>xml-rss2.php?itemid=12</comments>
    <pubDate>Sun, 24 Jan 2010 20:50:31 +1100</pubDate>
<feedburner:origLink>http://bdsatish.in/CircuitBroken/xml-rss2.php?itemid=12</feedburner:origLink></item>
  </channel>
</rss>

