<?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>Reality tunnels &#187; software</title>
	<atom:link href="http://blog.superadditive.com/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.superadditive.com</link>
	<description>Pseudo-random thoughts by Juan M. Bello Rivas</description>
	<lastBuildDate>Mon, 27 Jun 2011 07:32:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Call graphs using the GNU Project Debugger</title>
		<link>http://blog.superadditive.com/2007/12/01/call-graphs-using-the-gnu-project-debugger/</link>
		<comments>http://blog.superadditive.com/2007/12/01/call-graphs-using-the-gnu-project-debugger/#comments</comments>
		<pubDate>Sat, 01 Dec 2007 10:46:46 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2007/12/01/call-graphs-using-the-gnu-project-debugger/</guid>
		<description><![CDATA[Chris Ball asked everyone who likes Unix for a tool which would be to function calls what strace and ltrace are for system and library calls respectively. I wanted to write this myself for a long time but what prevented me from doing so was the fact that I had come up with a trivial [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.printf.net/articles/2007/11/30/tracing-internal-function-calls-in-a-binary">Chris Ball asked everyone who likes Unix</a> for a tool which would be to function calls what strace and ltrace are for system and library calls respectively.</p>
<p>I wanted to write this myself for a long time but what prevented me from doing so was the fact that I had come up with a trivial shell/awk script that achieved almost the same goal.  <span id="more-74"></span>Since that little program was useful for someone other than me, I thought I&#8217;d polish it slightly and post it <a href="http://superadditive.com/software/callgraph.tar.gz">here</a>.</p>
<p>This tool&#8217;s original intent was to print a call graph from a given program.  It works by taking control of <a href="http://www.gnu.org/software/gdb/">GDB</a> and automatically setting breakpoints at each function call.  Of course, the executable must include debugging symbols (that is, it must have been compiled with gcc&#8217;s -g option).  Here&#8217;s some sample output (the format is: caller callee arguments):<br />
<code><br />
xmltree_parse xmltree_itor_next (self=0x80571e8)<br />
xmltree_itor_next xmlnode_stack_push (stack=0x80571f0, n=0x8056780)<br />
xmltree_parse h_requires (n=0x8056808, u=0xbff9d504)<br />
h_requires xmlnode_get_attr (self=0x8056808, name=0x80520ea "plugin")<br />
h_requires probe_get_name (self=0x8056af0)<br />
h_requires htab_lookup (self=0x8058100, key=0x8056868, len=3, create=0, value=0x0)<br />
</code></p>
<p>You can use the included <strong>cg2dot.awk</strong> script to produce files suitable for processing with <a href="http://www.graphviz.org">graphviz</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2007/12/01/call-graphs-using-the-gnu-project-debugger/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Libbtrace is obsolete</title>
		<link>http://blog.superadditive.com/2007/08/04/libbtrace-is-obsolete/</link>
		<comments>http://blog.superadditive.com/2007/08/04/libbtrace-is-obsolete/#comments</comments>
		<pubDate>Sat, 04 Aug 2007 19:28:06 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2007/08/04/libbtrace-is-obsolete/</guid>
		<description><![CDATA[I wrote Libbtrace some years ago to allow some kind of introspection in C programs: namely, to be able to inspect the program&#8217;s backtrace showing not just the addresses but also the relevant function names. This was useful when the GNU Debugger lacked proper multi-threading support. This library used an undocumented (at the time) glibc [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote <a href="http://freshmeat.net/projects/libbtrace/">Libbtrace</a> some years ago to allow some kind of introspection in C programs: namely, to be able to inspect the program&#8217;s backtrace showing not just the addresses but also the relevant function names.  This was useful when the GNU Debugger lacked proper multi-threading support.</p>
<p>This library used an undocumented (at the time) glibc function called <em>backtrace(3)</em> which would return memory locations but not function names.  Today, browsing old source code, I reviewed the library and was glad to see that <em>backtrace(3)</em> is currently not only documented but it also offers the same features my library did, so I won&#8217;t be updating Libbtrace anymore.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2007/08/04/libbtrace-is-obsolete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Superficies</title>
		<link>http://blog.superadditive.com/2006/12/24/superficies/</link>
		<comments>http://blog.superadditive.com/2006/12/24/superficies/#comments</comments>
		<pubDate>Sun, 24 Dec 2006 09:36:14 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2006/12/24/superficies/</guid>
		<description><![CDATA[I recently came across Superficies, a very nice tool for exploring surfaces and differential geometry concepts that I wanted to share. Here&#8217;s a link to its english manual that will give you an idea of the program&#8217;s features. This is GPLed software written in Delphi and although binaries are only available for Windows I had [...]]]></description>
			<content:encoded><![CDATA[<p>I recently came across <a title="Superficies" href="http://www.uv.es/montesin/">Superficies, a very nice tool for exploring surfaces and differential geometry concepts</a> that I wanted to share. Here&#8217;s a link to its <a href="http://www.uv.es/montesin/ProgramasDidacticos/SuperficiesFolder/SupMan_En.pdf">english manual</a> that will give you an idea of the program&#8217;s features.</p>
<p>This is GPLed software written in Delphi and although binaries are only available for Windows I had no problem running it under Linux using Wine.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2006/12/24/superficies/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quick way to use mimetex with SMF</title>
		<link>http://blog.superadditive.com/2006/12/03/quick-way-to-use-mimetex-with-smf/</link>
		<comments>http://blog.superadditive.com/2006/12/03/quick-way-to-use-mimetex-with-smf/#comments</comments>
		<pubDate>Sun, 03 Dec 2006 00:03:34 +0000</pubDate>
		<dc:creator>jmbr</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[mathematics]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.superadditive.com/2006/12/03/quick-way-to-use-mimetex-with-smf/</guid>
		<description><![CDATA[SMF is a nice web forum package but it doesn&#8217;t display mathematics by default. If you want it to render LaTeX, one option is to use mimetex. Here is a quick patch to enable [tex]&#8230;[/tex] tags in SMF version 1.1. You can get the latest updates to this patch with: darcs get http://darcs.superadditive.com/smf-mimetex]]></description>
			<content:encoded><![CDATA[<p><a title="Simple Machines Forum" href="http://www.simplemachines.org/">SMF</a> is a nice web forum package but it doesn&#8217;t display mathematics by default.  If you want it to render LaTeX, one option is to use <a href="http://www.forkosh.com/mimetex.html">mimetex</a>.  <a title="SMF 1.1 mimetex patch" href="http://superadditive.com/software/smf-mimetex-latest.tar.gz">Here</a> is a quick patch to enable [tex]&#8230;[/tex] tags in SMF version 1.1.  You can get the latest updates to this patch with:</p>
<pre>darcs get http://darcs.superadditive.com/smf-mimetex</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.superadditive.com/2006/12/03/quick-way-to-use-mimetex-with-smf/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

