<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss 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/" version="2.0">

<channel>
	<title>Silas Sewell</title>
	
	<link>http://www.silassewell.com</link>
	<description>Developer, Systems Administrator and Entrepreneur</description>
	<pubDate>Sun, 04 Jan 2009 19:51:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/silassewell" type="application/rss+xml" /><item>
		<title>Python Stomp Client (Stomper) RPM</title>
		<link>http://www.silassewell.com/blog/2008/12/18/python-stomp-client-stomper-rpm/</link>
		<comments>http://www.silassewell.com/blog/2008/12/18/python-stomp-client-stomper-rpm/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 01:22:36 +0000</pubDate>
		<dc:creator>silas</dc:creator>
		
		<category><![CDATA[Systems Administration]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[RPM]]></category>

		<category><![CDATA[STOMP]]></category>

		<category><![CDATA[Stomper]]></category>

		<guid isPermaLink="false">http://www.silassewell.com/?p=218</guid>
		<description><![CDATA[I packaged Stomper, a transport neutral Python STOMP client, as an RPM.
]]></description>
			<content:encoded><![CDATA[<p>I packaged <a href="http://code.google.com/p/stomper/">Stomper</a>, a transport neutral Python <a href="http://en.wikipedia.org/wiki/Streaming_Text_Orientated_Messaging_Protocol">STOMP</a> client, as an <a href="http://code.google.com/p/silassewell/wiki/Packages">RPM</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silassewell.com/blog/2008/12/18/python-stomp-client-stomper-rpm/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Android Dev Phone 1 - AT&amp;T</title>
		<link>http://www.silassewell.com/blog/2008/12/17/android-dev-phone-1-att/</link>
		<comments>http://www.silassewell.com/blog/2008/12/17/android-dev-phone-1-att/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 05:04:56 +0000</pubDate>
		<dc:creator>silas</dc:creator>
		
		<category><![CDATA[Mobile Computing]]></category>

		<category><![CDATA[Android]]></category>

		<category><![CDATA[Android Dev Phone]]></category>

		<category><![CDATA[AT&T]]></category>

		<guid isPermaLink="false">http://www.silassewell.com/?p=212</guid>
		<description><![CDATA[I received my Android Dev Phone 1 today and wanted to report that with the following APN settings it works great (setup instructions come with the phone).
Name: AT&#38;T
APN: wap.cingular 
Proxy: &#60;Not set&#62; 
Port: &#60;Not set&#62; 
Username: wap.cingulargprs.com 
Password: CINGULAR1 
Server: &#60;Not set&#62; 
MMSC: mmsc.cingular.com 
MMS proxy: &#60;Not set&#62; 
MMS port: 80 
MCC: 310 
MNC: 410 
APN type: &#60;Not set&#62;
Source Jackson Miller
]]></description>
			<content:encoded><![CDATA[<p>I received my <a href="http://www.silassewell.com/blog/2008/12/06/adroid-dev-phone-1/">Android Dev Phone 1</a> today and wanted to report that with the following <a href="http://en.wikipedia.org/wiki/Access_Point_Name">APN</a> settings it works great (setup instructions come with the phone).</p>
<pre>Name: AT&amp;T
APN: wap.cingular 
Proxy: &lt;Not set&gt; 
Port: &lt;Not set&gt; 
Username: wap.cingulargprs.com 
Password: CINGULAR1 
Server: &lt;Not set&gt; 
MMSC: mmsc.cingular.com 
MMS proxy: &lt;Not set&gt; 
MMS port: 80 
MCC: 310 
MNC: 410 
APN type: &lt;Not set&gt;</pre>
<p>Source <a href="http://groups.google.com/group/android-developers/msg/e4a9172898b7d7cc">Jackson Miller</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.silassewell.com/blog/2008/12/17/android-dev-phone-1-att/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fabric RPM Package</title>
		<link>http://www.silassewell.com/blog/2008/12/11/fabric-rpm-package/</link>
		<comments>http://www.silassewell.com/blog/2008/12/11/fabric-rpm-package/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 22:46:43 +0000</pubDate>
		<dc:creator>silas</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Systems Administration]]></category>

		<category><![CDATA[CentOS]]></category>

		<category><![CDATA[Fabric]]></category>

		<category><![CDATA[Fedora]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[RPM]]></category>

		<guid isPermaLink="false">http://www.silassewell.com/?p=205</guid>
		<description><![CDATA[I&#8217;ve packaged Fabric&#8211;the simple pythonic remote deployment tool&#8211;as an RPM.
Here is a simple guide on creating binary RPMs from source RPMs.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve <a href="http://code.google.com/p/silassewell/wiki/Packages">packaged</a> <a href="http://www.nongnu.org/fab/">Fabric</a>&#8211;the simple pythonic remote deployment tool&#8211;as an RPM.</p>
<p>Here is a <a href="http://code.google.com/p/silassewell/wiki/PackagingRPMs">simple guide</a> on creating binary RPMs from source RPMs.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silassewell.com/blog/2008/12/11/fabric-rpm-package/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adroid Dev Phone 1</title>
		<link>http://www.silassewell.com/blog/2008/12/06/adroid-dev-phone-1/</link>
		<comments>http://www.silassewell.com/blog/2008/12/06/adroid-dev-phone-1/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 18:31:27 +0000</pubDate>
		<dc:creator>silas</dc:creator>
		
		<category><![CDATA[Hardware]]></category>

		<category><![CDATA[Mobile Computing]]></category>

		<category><![CDATA[Operating Systems]]></category>

		<category><![CDATA[Android]]></category>

		<category><![CDATA[Android Dev Phone]]></category>

		<guid isPermaLink="false">http://www.silassewell.com/?p=182</guid>
		<description><![CDATA[I just ordered the Adroid Dev Phone 1, an unlocked Android device available through the Developer Console.
      
Price: $399.00 USD
Overview
Run and debug your Android applications directly on a device. Modify and rebuild the Android operating system, and flash it onto a phone. The Android Dev Phone 1 is carrier independent, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">I just ordered the Adroid Dev Phone 1, an unlocked Android device available through the <a href="http://market.android.com/publish/Home">Developer Console</a>.</p>
<p><a href="http://www.silassewell.com/wp-content/uploads/2008/12/dev1.jpg"><img class="alignnone size-thumbnail wp-image-184" title="Front - Open" src="http://www.silassewell.com/wp-content/uploads/2008/12/dev1.jpg" alt="" width="150" height="123" /></a> <a href="http://www.silassewell.com/wp-content/uploads/2008/12/dev2.jpg"><img class="alignnone size-thumbnail wp-image-185" title="Front - Closed" src="http://www.silassewell.com/wp-content/uploads/2008/12/dev2.jpg" alt="" width="73" height="150" /></a> <a href="http://www.silassewell.com/wp-content/uploads/2008/12/dev3.jpg"><img class="alignnone size-thumbnail wp-image-186" title="Back" src="http://www.silassewell.com/wp-content/uploads/2008/12/dev3.jpg" alt="" width="72" height="150" /></a> <a href="http://www.silassewell.com/wp-content/uploads/2008/12/dev4.jpg"><img class="alignnone size-thumbnail wp-image-187" title="Side - Left" src="http://www.silassewell.com/wp-content/uploads/2008/12/dev4.jpg" alt="" width="51" height="150" /></a> <a href="http://www.silassewell.com/wp-content/uploads/2008/12/dev5.jpg"><img class="alignnone size-thumbnail wp-image-188" title="Side - Right" src="http://www.silassewell.com/wp-content/uploads/2008/12/dev5.jpg" alt="" width="42" height="150" /></a> <a href="http://www.silassewell.com/wp-content/uploads/2008/12/dev6.jpg"><img class="alignnone size-thumbnail wp-image-189" title="Profile - Open" src="http://www.silassewell.com/wp-content/uploads/2008/12/dev6.jpg" alt="" width="150" height="126" /></a> <a href="http://www.silassewell.com/wp-content/uploads/2008/12/dev7.jpg"><img class="alignnone size-thumbnail wp-image-190" title="Profile - Closed" src="http://www.silassewell.com/wp-content/uploads/2008/12/dev7.jpg" alt="" width="109" height="150" /></a></p>
<p><strong>Price:</strong> $399.00 USD</p>
<p><strong>Overview</strong></p>
<p>Run and debug your Android applications directly on a device. Modify and rebuild the Android operating system, and flash it onto a phone. The Android Dev Phone 1 is carrier independent, and available for purchase by any developer registered with Android Market.</p>
<p><strong>Development Platform Features</strong></p>
<ul>
<li>SIM unlocked - Put any SIM in the device</li>
<li>Hardware unlocked - Rebuild the Android operating system, and load it onto the device</li>
<li>Test out your apps on real hardware before publishing them to the world</li>
</ul>
<p><strong>Hardware Features</strong></p>
<ul>
<li>Touch screen</li>
<li>Trackball</li>
<li>3.2 Megapixel camera with auto focus</li>
<li>Wi-Fi</li>
<li>Bluetooth v2.0
<ul>
<li>Handsfree profile v1.5</li>
<li>Headset profile v1.0</li>
</ul>
</li>
<li>3G WCDMA (1700/2100 MHz)</li>
<li>Quad-band GSM (850/900/1800/1900 MHz)</li>
<li>QWERTY slider keyboard</li>
<li>Includes 1GB MicroSD card (Can be replaced with up to 16GB card)</li>
<li>Included in the box
<ul>
<li>HTC Android Dev Phone 1</li>
<li>USB Cable</li>
<li>AC Adapter (with US plug)</li>
<li>Stereo Hands-Free Headset</li>
<li>Battery</li>
<li>Getting Starting Guide</li>
<li>1G Micro SD Card (inserted into Device)</li>
</ul>
</li>
</ul>
<p><strong>Software Features</strong></p>
<ul>
<li>Real web browsing</li>
<li>Customizable home screen</li>
<li>One-touch Google Search</li>
<li>Android Market</li>
<li>Full-featured Google applications:
<ul>
<li>Google Maps</li>
<li>Gmail</li>
<li>YouTube</li>
<li>Google Calendar</li>
<li>Google Talk</li>
</ul>
</li>
<li>SMS and MMS</li>
<li>Music Player</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.silassewell.com/blog/2008/12/06/adroid-dev-phone-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>IPython + Python: Single Bash Command</title>
		<link>http://www.silassewell.com/blog/2008/12/01/ipython-python-single-bash-command/</link>
		<comments>http://www.silassewell.com/blog/2008/12/01/ipython-python-single-bash-command/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 16:54:24 +0000</pubDate>
		<dc:creator>silas</dc:creator>
		
		<category><![CDATA[Systems Administration]]></category>

		<category><![CDATA[Bash]]></category>

		<category><![CDATA[IPython]]></category>

		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.silassewell.com/?p=179</guid>
		<description><![CDATA[The following is a simple Bash function you can paste into your bashrc file to start Python/IPython depending on the context.
~/.bashrc
function python {
    IPYTHON="/usr/bin/ipython"
    PYTHON="/usr/bin/python"

    if [[ -n $1 ]]; then
        $PYTHON $@
    elif [[ -e [...]]]></description>
			<content:encoded><![CDATA[<p>The following is a simple Bash function you can paste into your bashrc file to start Python/IPython depending on the context.</p>
<p><strong>~/.bashrc</strong></p>
<pre>function python {
    IPYTHON="/usr/bin/ipython"
    PYTHON="/usr/bin/python"

    if [[ -n $1 ]]; then
        $PYTHON $@
    elif [[ -e $IPYTHON ]]; then
        $IPYTHON
    else
        $PYTHON
    fi
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.silassewell.com/blog/2008/12/01/ipython-python-single-bash-command/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Adobe Flash 10 64-bit SPEC File for Fedora 9</title>
		<link>http://www.silassewell.com/blog/2008/11/18/adobe-flash-10-64-bit-spec-file-for-fedora-9/</link>
		<comments>http://www.silassewell.com/blog/2008/11/18/adobe-flash-10-64-bit-spec-file-for-fedora-9/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 07:53:45 +0000</pubDate>
		<dc:creator>silas</dc:creator>
		
		<category><![CDATA[Systems Administration]]></category>

		<category><![CDATA[Adobe Flash]]></category>

		<category><![CDATA[Fedora]]></category>

		<category><![CDATA[RPM]]></category>

		<guid isPermaLink="false">http://www.silassewell.com/?p=169</guid>
		<description><![CDATA[I hacked up a quick SPEC file for the alpha release of Adobe Flash 10 64-bit for Linux.
Name:           adobe-flash
Version:        10.0.d20.7
Release:        1%{?dist}
Summary:        Adobe Flash player.

Group: [...]]]></description>
			<content:encoded><![CDATA[<p>I hacked up a quick SPEC file for the alpha release of <a href="http://labs.adobe.com/technologies/flashplayer10/releasenotes_64bit.html">Adobe Flash 10 64-bit</a> for Linux.</p>
<pre>Name:           adobe-flash
Version:        10.0.d20.7
Release:        1%{?dist}
Summary:        Adobe Flash player.

Group:          Application/Internet
License:        Proprietary
URL:            http://labs.adobe.com/technologies/flashplayer10/
Source0:        http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.d20.7.linux-x86_64.so.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildArch:      x86_64
Requires:       firefox >= 3
Requires:       mozilla-filesystem

%description
The Adobe Flash player.

%prep
%setup -T -c -a 0

%install
install -D -m 644 libflashplayer.so $RPM_BUILD_ROOT%{_usr}/lib64/mozilla/plugins/libflashplayer.so

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%{_usr}/lib64/mozilla/plugins/libflashplayer.so

%changelog
* Tue Nov 18 2008 Silas Sewell < silas@sewell.ch > - 10.0.d20.7
- Created package.</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.silassewell.com/blog/2008/11/18/adobe-flash-10-64-bit-spec-file-for-fedora-9/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Push: Func Module to Run Arbitrary Python Code</title>
		<link>http://www.silassewell.com/blog/2008/11/18/push-func-module-to-run-arbitrary-python-code/</link>
		<comments>http://www.silassewell.com/blog/2008/11/18/push-func-module-to-run-arbitrary-python-code/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 04:42:09 +0000</pubDate>
		<dc:creator>silas</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Systems Administration]]></category>

		<category><![CDATA[Func]]></category>

		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.silassewell.com/?p=133</guid>
		<description><![CDATA[Func is a nifty, although not yet polished, Python-based service for running tasks on many hosts at once. It lets you do things like restart Apache instances, run yum updates or provision virtual machines.
You can accomplish theses tasks via the command line interface
func web-*.example.net call service restart httpd
or through the Python API

import func.overlord.client as fc
&#160;
client [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://fedorahosted.org/func/">Func</a> is a nifty, although not yet polished, Python-based service for running tasks on many hosts at once. It lets you do things like restart <a href="https://fedorahosted.org/func/wiki/ServiceModule">Apache instances</a>, <a href="https://fedorahosted.org/func/wiki/YumModule">run yum updates</a> or <a href="https://fedorahosted.org/func/wiki/VirtModule">provision virtual machines</a>.</p>
<p>You can accomplish theses tasks via the command line interface</p>
<pre>func web-*.example.net call service restart httpd</pre>
<p>or through the Python API</p>

<div class="wp_syntax"><div class="code"><pre class="python python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> func.<span style="color: black;">overlord</span>.<span style="color: black;">client</span> as fc
&nbsp;
client = fc.<span style="color: black;">Client</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'web-*.example.net'</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span> client.<span style="color: black;">service</span>.<span style="color: black;">restart</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'httpd'</span><span style="color: black;">&#41;</span></pre></div></div>

<p>One of the annoying issues I&#8217;m dealing with right now is the distribution of Func modules, which for various reasons isn&#8217;t as simple as packaging the modules and pushing them to all the hosts (it is, just not in my network).</p>
<p>My solution is <a href="http://github.com/silas/func-modules/tree/master/push.py">Push</a>, a Func module which lets you instantly run Python code on any or all hosts in your network.</p>
<p>Example usage:</p>

<div class="wp_syntax"><div class="code"><pre class="python python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">import</span> func.<span style="color: black;">overlord</span>.<span style="color: black;">client</span> as fc
&nbsp;
client = fc.<span style="color: black;">Client</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'web-*.example.net'</span><span style="color: black;">&#41;</span>
&nbsp;
source = <span style="color: #483d8b;">&quot;&quot;&quot;
def main():
  return 'Hello World'
&quot;&quot;&quot;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span> client.<span style="color: black;">push</span>.<span style="color: #dc143c;">code</span><span style="color: black;">&#40;</span>source<span style="color: black;">&#41;</span></pre></div></div>

<p>I realize this isn&#8217;t the most elegant solution, but its very useful and extremely simple.</p>
<p>I also realize that I could use the copyfile module to push modules via Func, but I haven&#8217;t found a way to restart funcd via Func (required to initialize modules), so until that happens I need a solution which doesn&#8217;t require restarting Func.</p>
<p><a href="http://github.com/silas/func-modules/tree/master/push.py">Get Push Module</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.silassewell.com/blog/2008/11/18/push-func-module-to-run-arbitrary-python-code/feed/</wfw:commentRss>
		</item>
		<item>
		<title>C GMP Hello World on Leopard (OS X 10.5)</title>
		<link>http://www.silassewell.com/blog/2008/10/19/c-gmp-hello-world-on-leopard-os-x-105/</link>
		<comments>http://www.silassewell.com/blog/2008/10/19/c-gmp-hello-world-on-leopard-os-x-105/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 02:36:00 +0000</pubDate>
		<dc:creator>silas</dc:creator>
		
		<category><![CDATA[Mathematics]]></category>

		<category><![CDATA[Programming]]></category>

		<category><![CDATA[C]]></category>

		<category><![CDATA[GMP]]></category>

		<category><![CDATA[Hello World]]></category>

		<guid isPermaLink="false">http://www.silassewell.com/?p=18</guid>
		<description><![CDATA[A simple GMP Hello World example in C.
Makefile

all:
        gcc -o gmp_hello_world gmp_hello_world.c -lgmp -m64
&#160;
clean:
        rm gmp_hello_world

gmp_hello_world.c

/*
 * GMP Hello World on OS X 10.5
*/
#include &#60;gmp.h&#62;
#include &#60;stdio.h&#62;
&#160;
int main&#40;&#41; &#123;
  mpz_t add_total1, add_total2, sub_total1, sub_total2, mul_total1, mul_total2;
  mpz_t num1, num2;
&#160;
  // [...]]]></description>
			<content:encoded><![CDATA[<p>A simple <a href="http://gmplib.org/">GMP</a> Hello World example in C.</p>
<p><strong>Makefile</strong></p>

<div class="wp_syntax"><div class="code"><pre class="makefile" style="font-family:monospace;">all:
        gcc -o gmp_hello_world gmp_hello_world.c -lgmp -m64
&nbsp;
clean:
        rm gmp_hello_world</pre></div></div>

<p><strong>gmp_hello_world.c</strong></p>

<div class="wp_syntax"><div class="code"><pre class="c c" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/*
 * GMP Hello World on OS X 10.5
*/</span>
<span style="color: #339933;">#include &lt;gmp.h&gt;</span>
<span style="color: #339933;">#include &lt;stdio.h&gt;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  mpz_t add_total1<span style="color: #339933;">,</span> add_total2<span style="color: #339933;">,</span> sub_total1<span style="color: #339933;">,</span> sub_total2<span style="color: #339933;">,</span> mul_total1<span style="color: #339933;">,</span> mul_total2;
  mpz_t num1<span style="color: #339933;">,</span> num2;
&nbsp;
  <span style="color: #666666; font-style: italic;">// Initialize variables</span>
  mpz_init_set_str<span style="color: #009900;">&#40;</span>num1<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;345192567923875922375736284875732&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span>;
  mpz_init_set_str<span style="color: #009900;">&#40;</span>num2<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;937929298382994742939293857584837&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span>;
  mpz_init<span style="color: #009900;">&#40;</span>add_total1<span style="color: #009900;">&#41;</span>;
  mpz_init<span style="color: #009900;">&#40;</span>add_total2<span style="color: #009900;">&#41;</span>;
  mpz_init<span style="color: #009900;">&#40;</span>sub_total1<span style="color: #009900;">&#41;</span>;
  mpz_init<span style="color: #009900;">&#40;</span>sub_total2<span style="color: #009900;">&#41;</span>;
  mpz_init<span style="color: #009900;">&#40;</span>mul_total1<span style="color: #009900;">&#41;</span>;
  mpz_init<span style="color: #009900;">&#40;</span>mul_total2<span style="color: #009900;">&#41;</span>;
&nbsp;
  <span style="color: #666666; font-style: italic;">// Do arithmetic</span>
  mpz_add<span style="color: #009900;">&#40;</span>add_total1<span style="color: #339933;">,</span> num1<span style="color: #339933;">,</span> num2<span style="color: #009900;">&#41;</span>;
  mpz_add_ui<span style="color: #009900;">&#40;</span>add_total2<span style="color: #339933;">,</span> num1<span style="color: #339933;">,</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span>;
  mpz_sub<span style="color: #009900;">&#40;</span>sub_total1<span style="color: #339933;">,</span> num1<span style="color: #339933;">,</span> num2<span style="color: #009900;">&#41;</span>;
  mpz_sub_ui<span style="color: #009900;">&#40;</span>sub_total2<span style="color: #339933;">,</span> num1<span style="color: #339933;">,</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span>;
  mpz_mul<span style="color: #009900;">&#40;</span>mul_total1<span style="color: #339933;">,</span> num1<span style="color: #339933;">,</span> num2<span style="color: #009900;">&#41;</span>;
  mpz_mul_ui<span style="color: #009900;">&#40;</span>mul_total2<span style="color: #339933;">,</span> num1<span style="color: #339933;">,</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span>;
&nbsp;
  <span style="color: #666666; font-style: italic;">// Display results</span>
  gmp_printf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Add Total 1: %Zd<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> add_total1<span style="color: #009900;">&#41;</span>;
  gmp_printf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Add Total 2: %Zd<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> add_total2<span style="color: #009900;">&#41;</span>;
  gmp_printf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Subtract Total 1: %Zd<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> sub_total1<span style="color: #009900;">&#41;</span>;
  gmp_printf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Subtract Total 2: %Zd<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> sub_total2<span style="color: #009900;">&#41;</span>;
  gmp_printf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Multiply Total 1: %Zd<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> mul_total1<span style="color: #009900;">&#41;</span>;
  gmp_printf<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Multiply Total 2: %Zd<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">,</span> mul_total2<span style="color: #009900;">&#41;</span>;
&nbsp;
  <span style="color: #666666; font-style: italic;">// Free space</span>
  mpz_clear<span style="color: #009900;">&#40;</span>num1<span style="color: #009900;">&#41;</span>;
  mpz_clear<span style="color: #009900;">&#40;</span>num2<span style="color: #009900;">&#41;</span>;
  mpz_clear<span style="color: #009900;">&#40;</span>add_total1<span style="color: #009900;">&#41;</span>;
  mpz_clear<span style="color: #009900;">&#40;</span>add_total2<span style="color: #009900;">&#41;</span>;
  mpz_clear<span style="color: #009900;">&#40;</span>sub_total1<span style="color: #009900;">&#41;</span>;
  mpz_clear<span style="color: #009900;">&#40;</span>sub_total2<span style="color: #009900;">&#41;</span>;
  mpz_clear<span style="color: #009900;">&#40;</span>mul_total1<span style="color: #009900;">&#41;</span>;
  mpz_clear<span style="color: #009900;">&#40;</span>mul_total2<span style="color: #009900;">&#41;</span>;
&nbsp;
  <span style="color: #b1b100;">return</span> <span style="color:#800080;">0</span>;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Link: <a href="http://code.google.com/p/silassewell/source/browse/trunk/2008/10/18/gmp_hello_world">gmp_hello_world</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.silassewell.com/blog/2008/10/19/c-gmp-hello-world-on-leopard-os-x-105/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Persistent Queuing in Python</title>
		<link>http://www.silassewell.com/blog/2008/09/26/persistent-queuing-python/</link>
		<comments>http://www.silassewell.com/blog/2008/09/26/persistent-queuing-python/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 06:00:00 +0000</pubDate>
		<dc:creator>silas</dc:creator>
		
		<category><![CDATA[Programming]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.silassewell.com/?p=17</guid>
		<description><![CDATA[Peafowl is a Python port of Ruby&#8217;s Starling.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/peafowl/">Peafowl</a> is a Python port of Ruby&#8217;s <a href="http://rubyforge.org/projects/starling/">Starling</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.silassewell.com/blog/2008/09/26/persistent-queuing-python/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Common Usage Database (cudb)</title>
		<link>http://www.silassewell.com/blog/2008/09/24/common-usage-database-cudb/</link>
		<comments>http://www.silassewell.com/blog/2008/09/24/common-usage-database-cudb/#comments</comments>
		<pubDate>Wed, 24 Sep 2008 06:00:00 +0000</pubDate>
		<dc:creator>silas</dc:creator>
		
		<category><![CDATA[Projects]]></category>

		<category><![CDATA[CLI]]></category>

		<category><![CDATA[Common Usage Database]]></category>

		<guid isPermaLink="false">http://www.silassewell.com/?p=16</guid>
		<description><![CDATA[A couple of months ago I was searching for an excuse to write an application on Google App Engine. After mucking around with the Datastore and authentication API I decided to rewrite Most Common Usage on Google App Engine.
The end result was the Common Usage Database and like Most Common Usage the website is focused [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago I was searching for an excuse to write an application on Google App Engine. After mucking around with the <a href="http://code.google.com/appengine/docs/datastore/">Datastore</a> and <a href="http://code.google.com/appengine/docs/users/">authentication</a> API I decided to rewrite <em>Most Common Usage</em> on Google App Engine.</p>
<p>The end result was the <a href="http://www.cudb.org/">Common Usage Database</a> and like <em>Most Common Usage</em> the website is focused on the usage of CLI commands in Linux and Unix-like operating systems.</p>
<p>The website uses Google for authentication so you don&#8217;t need to signup if you already have a Google account. I&#8217;ve also setup a <a href="http://groups.google.com/group/cudb">Google Group</a> and the <em>#cudb</em> channel on Freenode.</p>
<p>I look forward to creating a repository of useful commands and providing an easy and open way for developers to use that repository.</p>
<p>Link: <a href="http://www.cudb.org/">http://www.cudb.org/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.silassewell.com/blog/2008/09/24/common-usage-database-cudb/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
