<?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>Ramakrishnan&#039;s website &#187; software</title>
	<atom:link href="http://www.zerobeat.in/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zerobeat.in</link>
	<description>Ramakrishnan&#039;s random thoughts on computer programming, amateur (ham) radio and Free Software.</description>
	<lastBuildDate>Sun, 02 May 2010 18:50:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>code indentation</title>
		<link>http://www.zerobeat.in/2008/09/17/code-indentation/</link>
		<comments>http://www.zerobeat.in/2008/09/17/code-indentation/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 16:16:16 +0000</pubDate>
		<dc:creator>Ramakrishnan Muthukrishnan</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.zerobeat.in/2008/09/17/code-indentation/</guid>
		<description><![CDATA[I use emacs for reading and writing code. I try to follow a subset of the GNU coding style. One annoyance with the GNU style is the block indentation. I find it very difficult to follow the 2-space width of the block and in my humble opinion, it is unneccesary. I like to begin at [...]]]></description>
			<content:encoded><![CDATA[<p>I use emacs for reading and writing code. I try to follow a subset of the GNU coding style. One annoyance with the GNU style is the block indentation. I find it very difficult to follow the 2-space width of the block and in my humble opinion, it is unneccesary. I like to begin at the same column as the previous line starting column.</p>
<p>That is, instead of:</p>
<pre>
if ()
Â  {
Â      ....;
Â      ....;
Â  }</pre>
<p>I prefer:</p>
<pre>if ()
{
Â  ....;
Â  ....;
}</pre>
<p>I have also tried many other styles like the K&amp;R style, linux-kernel style etc, but have found that some of the spacing guidelines very difficult to follow.</p>
<p>Thanks to the c-mode in GNU Emacs, it is very easy to follow just about any custom style. One has to define the rules clearly and program it into emacs. Emacs defines each syntax element style very clearly. The manual has all the gory details.</p>
<pre>

(defconst vu3rdd-c-style
  '((c-basic-offset . 2)
    (tab-width . 4)
    (indent-tabs-mode . nil)
    (c-comment-only-line-offset . 0)
    (c-hanging-braces-alist . ((substatement-open before after)))
    (c-offsets-alist . ((topmost-intro . 0)
			(substatement . +)
			(substatement-open . 0)
			(case-label . +)
			(access-label . -)
			(inclass . ++)
			(inline-open . 0)
			))
    )
  ) 

(c-add-style "vu3rddstyle" vu3rdd-c-style nil)

(defun vu3rdd-c-hook ()
(c-set-style "vu3rddstyle"))

(add-hook 'c-mode-common-hook 'vu3rdd-c-hook)</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.zerobeat.in/2008/09/17/code-indentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>libjingle release</title>
		<link>http://www.zerobeat.in/2008/05/04/libjingle-release/</link>
		<comments>http://www.zerobeat.in/2008/05/04/libjingle-release/#comments</comments>
		<pubDate>Sun, 04 May 2008 15:03:52 +0000</pubDate>
		<dc:creator>Ramakrishnan Muthukrishnan</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.zerobeat.in/2008/05/04/libjingle-release/</guid>
		<description><![CDATA[I think I have a version of libjingle which has some bug fixes compared to the 0.4.0. And BTW, these are strictly unofficial release. I have nothing to do with Google. The main features of the release are: dependency on ortp 0.7.1 removed. Can use the distro supplied ortp (latest version). 0.7.1 will no longer [...]]]></description>
			<content:encoded><![CDATA[<p>I think I have a version of libjingle which has some bug fixes compared to the 0.4.0. And BTW, these are strictly unofficial release. I have nothing to do with Google.</p>
<p>The main features of the release are:</p>
<ul>
<li>dependency on ortp 0.7.1 removed. Can use the distro supplied ortp (latest version). 0.7.1 will no longer be supported.</li>
<li>updated to use mediastreamer2 (part of linphone, again available in your fav distro).</li>
<li>Various misc bugfixes to fix crashes etc.</li>
<li>iLBC support temporarily not available.</li>
</ul>
<p>Grab the code:</p>
<p><tt>svn checkout http://unshackle.googlecode.com/svn/trunk/ unshackle</tt></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerobeat.in/2008/05/04/libjingle-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>google talk voice chat on GNU/Linux</title>
		<link>http://www.zerobeat.in/2008/05/02/google-talk-voice-chat-on-gnulinux/</link>
		<comments>http://www.zerobeat.in/2008/05/02/google-talk-voice-chat-on-gnulinux/#comments</comments>
		<pubDate>Fri, 02 May 2008 03:07:14 +0000</pubDate>
		<dc:creator>Ramakrishnan Muthukrishnan</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.zerobeat.in/2008/05/02/google-talk-voice-chat-on-gnulinux/</guid>
		<description><![CDATA[Since this year March, I had been a heavy user of VoIP. I had been trying various options, asking other users on which service works best and so on. If not for VoIP, I would have been spending massive amount of money on Telephone to call home. One of the hard requrement was that it [...]]]></description>
			<content:encoded><![CDATA[<p>Since this year March, I had been a heavy user of VoIP. I had been trying various options, asking other users on which service works best and so on. If not for VoIP, I would have been spending massive amount of money on Telephone to call home. One of the hard requrement was that it should run on GNU/Linux and should be Free (as in Freedom). But after trying out afew programs, I decided to relax that condition and decided to be a bit more pragmatic, but this requirement was always in the back of my mind. I had been mainly using Google Talk and occassionally Skype. I like the voice quality provided by Google Talk very much and the simplicity of their client program. The only bad part had been that it works only on Windows. I had to boot into Windows (which came pre-installed) on my laptop. Not anymore..</p>
<p>Google released the library called libjingle. I (together with my friend Anoop) was one of the first to try it out way back in 2006 if I remember &#8211; in vain. But last week I started looking into libjingle again. The inspiration came from <a href="http://www.gtalk2voip.com/article1_en.html">this page</a> and after afew late night hacking, it all works and this post will enable the reader equipped with a GNU/Linux machine to do it too. From now on, I am going (<a href="http://www.zerobeat.in/2008/04/05/life-updates/">if time permits</a>) to maintain a branch of libjingle and hope to release updated versions and also integrate it with a simple chat client. Those are for later.</p>
<p>0. <a href="http://www.zerobeat.in/files/gtalk-on-gnu-linux.tar.bz2">Download</a> the tarball. All the required changes to get libjingle to compile and work, is in this tarball.</p>
<p>1. Install SSL, ALSA libraries, Speex development files (i.e. libssl-dev, libasound2-dev, libspeex-dev). Needless to say, you need to have a working toochain setup. If not install gcc 4.x and its cousins.</p>
<p>2. libjingle 0.4.0 specifically depends on ortp 0.7.1. This will change in future, one of the things in my list is to make it work on the current latest version of ortp. ortp-0.7.1 is included in the above tarball. Do:<br />
<code><br />
./configure &amp;&amp; make &amp;&amp; make install</code></p>
<p>This should install ortp libraries and header files into <code>/usr/local</code>.</p>
<p>3. Install iLBC libraries. Do:</p>
<p><code>$ cd msilbc-2.0.0</code></p>
<p><code>$ tar zxvf ilbc-rfc3951.tar.gz</code></p>
<p><code>$ cd ilbc-rfc3951</code></p>
<p><code>$ ./configure &amp;&amp; make</code></p>
<p><code>$ sudo make install</code></p>
<p>iLBC is a royalty free codec, supposedly. But the version of code which is included in the above tarball is not really Free as in Freedom. One can use it only for non-commercial personal use. The specification are however, freely available, for anyone to implement a Free version. Any volunteers?</p>
<p>4. Go into libjingle-0.4.0 directory. Do:<br />
<code><br />
./configure --with-speex=/usr --with-ilbc=/usr/local</code></p>
<p>After afew minutes of compilation, you will have the library and the programs in the example directories built.</p>
<p>5. Go to <code>talk/examples/call</code>. Run:</p>
<p><code>$./call</code></p>
<p>Alternatively, you can do a <code>make install</code> and just invoke <code>call</code>. <code>call -d</code> spits out some of the xmpp traces and debug information which was very valuable in debugging certain stuff.</p>
<p>It will ask you your JID. Give the full gmail ID (for eg: abcdef@gmail.com) and give the password. I think the rest of the things are self-explanatory. It has a very simple command system. Type roster to see who is online or away. Use &#8216;call&#8217; to call someone. Once you are in a call, it gives you another set of commands to hangup or mute/unmute calls.</p>
<p>6. There are afew issues with the program and occassional crashes. We will fix them on the way.</p>
<p>7. Please report success, problems and fixes to <a href="http://www.zerobeat.in/contact-me/">my email ID</a>.</p>
<p>8. I have started maintaining my own svn repository of this code with the aim of improving it a bit. Contributors are welcome. I will publish the repository when I have something to show. One of my goals with libjingle is to do remote amateur radio operation. i.e. Control, recieve and transmit the radio sitting at your house connected to a computer and a broadband connection from anywhere in the world. What has been accomplished is just a baby step.</p>
<p>Surprisingly, I found in the initial xmpp capability exchanges that the latest windows build of google chat client is not using speex. It uses a bunch of propreitary codecs which is not supported by the above code, so it switches to the PCM/U at 8kHz sampling rate. [Update: Looks like I was wrong. Speex seem to be well supported. Sorry for misinformation.]</p>
<p>A big thanks to Google to publish libjingle as free software. The libjingle documentation is also a great piece of work. It will be a shame if no one used it to the maximum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerobeat.in/2008/05/02/google-talk-voice-chat-on-gnulinux/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>M$ Office binary formats</title>
		<link>http://www.zerobeat.in/2008/02/19/m-office-binary-formats/</link>
		<comments>http://www.zerobeat.in/2008/02/19/m-office-binary-formats/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 17:43:48 +0000</pubDate>
		<dc:creator>Ramakrishnan Muthukrishnan</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.zerobeat.in/2008/02/19/m-office-binary-formats/</guid>
		<description><![CDATA[Micro$oft has finally published their Office binary formats. Perhaps many of us, Free Software users see this as a big win. Though OpenOffice supports reading and writing in MS Office formats, these specs from horse&#8217; mouth would surely be expected to make things better. Not so. It seems like these formats are not designed to [...]]]></description>
			<content:encoded><![CDATA[<p>Micro$oft has finally <a href="http://www.microsoft.com/interop/docs/OfficeBinaryFormats.mspx">published</a> their Office binary formats. Perhaps many of us, Free Software users see this as a big win. Though OpenOffice supports reading and writing in MS Office formats, these specs from horse&#8217; mouth would surely be expected to make things better. Not so. It seems like these formats are not designed to inter-operate. This post from Joel Spolsky <a href="http://www.joelonsoftware.com/items/2008/02/19.html">throws the light</a> on why it is so.</p>
<p>I think as Free Software enthusiasts, we should still boycott these formats (or use a subset of these and ensure that they work fine with Free Software) and instead use the ODF instead. A lot of documents have started appearing in the new OOXML (with docx extension). Afew half-baked solutions exist to read these documents as of this writing. But hopefully a fully OO.o integrated solution will appear so that we can read docx files and convert them into saner formats.</p>
<p>Here is another related <a href="http://www.fsfeurope.org/documents/msooxml-idiosyncrasies">analysis</a> from FSFE on why Microsoft is publishing these formats at this point of time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerobeat.in/2008/02/19/m-office-binary-formats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FSF Associated membership</title>
		<link>http://www.zerobeat.in/2007/12/24/fsf-associated-membership/</link>
		<comments>http://www.zerobeat.in/2007/12/24/fsf-associated-membership/#comments</comments>
		<pubDate>Mon, 24 Dec 2007 08:47:38 +0000</pubDate>
		<dc:creator>Ramakrishnan Muthukrishnan</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.zerobeat.in/2007/12/24/fsf-associated-membership/</guid>
		<description><![CDATA[Today marks five years since I became an associated member of the Free Software Foundation. I have to say that I am very glad that the money I gave to the FSF is well spent. If you are remotely connected to Software World and are worried about Free Standards, Free Information, Free Software (Free as [...]]]></description>
			<content:encoded><![CDATA[<p>Today marks five years since I became an associated member of the Free Software Foundation. I have to say that I am very glad that the money I gave to the FSF is well spent.</p>
<p>If you are remotely connected to Software World and are worried about Free Standards, Free Information, Free Software (Free as in Freedom and not price) and in general about Freedom forÂ  computer users, please consider joining the associate membership. It is very easy. Click on the below button. And you can contribute as much as your monthly income permit. Consider the amount of money you waste when you go out to a shopping mall and drain your vallet aimlessly. That money will be well-spent for a cause if you can give it to the FSF.</p>
<p><a href="http://www.fsf.org/register_form?referrer=255"><img width="88" height="31" alt="[FSF Associate Member]" src="http://www.zerobeat.in/getButton.png" /></a></p>
<pre />
]]></content:encoded>
			<wfw:commentRss>http://www.zerobeat.in/2007/12/24/fsf-associated-membership/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cheque from Knuth</title>
		<link>http://www.zerobeat.in/2007/05/14/cheque-from-knuth/</link>
		<comments>http://www.zerobeat.in/2007/05/14/cheque-from-knuth/#comments</comments>
		<pubDate>Mon, 14 May 2007 10:04:56 +0000</pubDate>
		<dc:creator>Ramakrishnan Muthukrishnan</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.zerobeat.in/2007/05/14/cheque-from-knuth/</guid>
		<description><![CDATA[Sometime in February this year, I bought the Vol II of The Art of Computer Programming, mainly to understand the floating point representation. I found a simple error in one of the diagram, which is not really an error, but was a misleading expression, which I pointed out to Prof. Knuth. Today I received a [...]]]></description>
			<content:encoded><![CDATA[<p>Sometime in February this year, I bought the Vol II of The Art of Computer Programming, mainly to understand the floating point representation. I found a simple error in one of the diagram, which is not really an error, but was a misleading expression, which I pointed out to Prof. Knuth. Today I received a <a href="http://en.wikipedia.org/wiki/Knuth_reward_check">reward</a> for it, which is one of the greatest reward I have ever received in my life.</p>
<p><img align="middle" src="http://www.zerobeat.in/knuth-web.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerobeat.in/2007/05/14/cheque-from-knuth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blackfin BF537 STAMP</title>
		<link>http://www.zerobeat.in/2006/08/03/blackfin-bf537-stamp/</link>
		<comments>http://www.zerobeat.in/2006/08/03/blackfin-bf537-stamp/#comments</comments>
		<pubDate>Thu, 03 Aug 2006 03:08:31 +0000</pubDate>
		<dc:creator>Ramakrishnan Muthukrishnan</dc:creator>
				<category><![CDATA[blackfin]]></category>
		<category><![CDATA[homebrewing]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.zerobeat.in/2006/08/03/blackfin-bf537-stamp/</guid>
		<description><![CDATA[Yesterday I got myself a serial cable with one side as plug and the other side as socket (which turned to be of very low quality, but neverthless useful at the moment) for connecting my new Blackfin BF537 STAMP board that my friend David Rowe sent me. This morning, I hooked it up and applied [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I got myself a serial cable with one side as plug and the other side as socket (which turned to be of very low quality, but neverthless useful at the moment) for connecting my new Blackfin BF537 STAMP board that my friend David Rowe sent me.</p>
<p>This morning, I hooked it up and applied power and got the board working. I still haven&#8217;t connected the ethernet cable yet and am still learning about the system. I need to figure out how to install new kernel into the system, how to debug using gdb on the target and so on. All these topics are explained in the blackfin.uclinux.org, I just need more time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerobeat.in/2006/08/03/blackfin-bf537-stamp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OLPC</title>
		<link>http://www.zerobeat.in/2006/07/18/olpc/</link>
		<comments>http://www.zerobeat.in/2006/07/18/olpc/#comments</comments>
		<pubDate>Tue, 18 Jul 2006 02:35:29 +0000</pubDate>
		<dc:creator>Ramakrishnan Muthukrishnan</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.zerobeat.in/2006/07/18/olpc/</guid>
		<description><![CDATA[I got my OLPC board last night. I will need to put up a plan to get Debian up on this machine and also work on other things which can be done with this machine.]]></description>
			<content:encoded><![CDATA[<p>I got my <a href="http://wiki.laptop.org/go/Developers%27_program">OLPC</a> board last night. I will need to put up a plan to get Debian up on this machine and also work on other things which can be done with this machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerobeat.in/2006/07/18/olpc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Printing under GNU/Linux sucks!</title>
		<link>http://www.zerobeat.in/2006/02/27/printing-under-gnulinux-sucks/</link>
		<comments>http://www.zerobeat.in/2006/02/27/printing-under-gnulinux-sucks/#comments</comments>
		<pubDate>Mon, 27 Feb 2006 17:33:10 +0000</pubDate>
		<dc:creator>Ramakrishnan Muthukrishnan</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.zerobeat.in/blog/?p=77</guid>
		<description><![CDATA[Last week I made a big blunder of buying a used Samsung ML-1250 printer based on the web reviews and on the commitment from Samsung (as printer in their brochures and manuals) that it will work for sure with GNU/Linux. I spent almost all of today trying to get it to work under GNOME on [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I made a big blunder of buying a used Samsung ML-1250 printer based on the web reviews and on the commitment from Samsung (as printer in their brochures and manuals) that it will work for sure with GNU/Linux. I spent almost all of today trying to get it to work under GNOME on my Debian system and simply failed.</p>
<p>I downloaded loads and loads of software like CUPS and associated packages, drivers etc etc. But nothing would work with the printer. I have seen it working fine under WIndows. Printing really sucks under GNU/Linux, may be because there are very less users who test/use printing under it.</p>
<p>I bought it only for making Iron-ON PCBs and had grant plans to make afew PCBs tomorrow. All in vain.</p>
<p>So, my printer is up for sale. Can vouch that it works fine under M$ WIndows. It&#8217;s just that I do not want to waste space for it at this point. Or may be if no one buys it from me, I may even get WIndows installed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerobeat.in/2006/02/27/printing-under-gnulinux-sucks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bouncing emails</title>
		<link>http://www.zerobeat.in/2006/02/13/bouncing-emails/</link>
		<comments>http://www.zerobeat.in/2006/02/13/bouncing-emails/#comments</comments>
		<pubDate>Mon, 13 Feb 2006 13:42:53 +0000</pubDate>
		<dc:creator>Ramakrishnan Muthukrishnan</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.zerobeat.in/blog/?p=74</guid>
		<description><![CDATA[I run my own SMTP server which delivers email directly to the receipient. Over the last few days, I am noticing that my emails are not delivered properly. Many of them bounce, some of them simply queue up and refuse to go out of the queue. After some investigation, I found that the IP address [...]]]></description>
			<content:encoded><![CDATA[<p>I run my own SMTP server which delivers email directly to the receipient. Over the last few days, I am noticing that my emails are not delivered properly. Many of them bounce, some of them simply queue up and refuse to go out of the queue. After some investigation, I found that the IP address that BSNL gives me (dynamically from a pool of addresses) have all been black listed. It could be that afew of the users of the ISP had a virus on their machine which sent out automatic emails and clogged other networks which forced the IP to be black listed or probably some one is actually sending out spam.</p>
<p>I have tried removing the IP from spamhaus, but invariably the next time, I get the same or another IP which is in CBL.<br />
I do not know how to escape from this problem. If anyone can give me a solution, I will be grateful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.zerobeat.in/2006/02/13/bouncing-emails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
