<?xml version="1.0" encoding="utf-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Fun with ones and zeros - amqp</title>
<subtitle>Barry&#039;s notes on computer software and hardware</subtitle>
<link href="/blog/tags/amqp"></link>
<updated>2026-06-17T02:42:04-07:00</updated>
<id>urn:uuid:3332e6f6-e46d-aa80-7d6a-1ad08589041a</id>
<entry>
<title>amqplib 1.0.0</title>
<link href="/blog/entries/amqplib-100"></link>
<id>urn:uuid:4bbc1376-f96c-cecd-e409-da7898710f0b</id>
<updated>2011-08-08T11:24:00-07:00</updated>
<author><name>Barry Pederson</name>
<email>bp@barryp.org</email>
</author>
<content type="html">&lt;p&gt;I attended OSCON for the first time this year, and to celebrate I thought I&#039;d wrap up the Python amqplib library a
bit and consider it more-or-less finished for what it is (a simple blocking 0-8 client), and call it 1.0.0   You can
find it on the in &lt;a href=&quot;https://pypi.org/project/amqplib/1.0.0/&quot;&gt;PyPi&lt;/a&gt; and &lt;a href=&quot;https://code.google.com/archive/p/py-amqplib&quot;&gt;Google Project Hosting&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It&#039;s definitely a worthwhile upgrade in that it&#039;s significantly faster than amqplib  0.6.1, and has a fair number of
bug fixes.  Also noteworthy are support for Python 3.x (via 2to3) and IPv6&lt;/p&gt;</content>
</entry>
<entry>
<title>amqplib and bpgsql on Google Code</title>
<link href="/blog/entries/amqplib-and-bpgsql-google-code"></link>
<id>urn:uuid:768a7aa9-935d-033b-3b5d-9edec5e5d58e</id>
<updated>2009-08-17T13:44:00-07:00</updated>
<author><name>Barry Pederson</name>
<email>bp@barryp.org</email>
</author>
<content type="html">&lt;p&gt;I&#039;ve created Google Code projects for my &lt;a href=&quot;https://code.google.com/archive/p/py-amqplib&quot;&gt;amqplib&lt;/a&gt; and &lt;a href=&quot;https://code.google.com/archive/p/py-bpgsql&quot;&gt;bpgsql&lt;/a&gt; packages, to take advantage of their nice infrastructure including issue tracking.&lt;/p&gt;</content>
</entry>
<entry>
<title>amqplib 0.6</title>
<link href="/blog/entries/amqplib-06"></link>
<id>urn:uuid:51cab492-f48c-77ef-7f56-fe379bf5841c</id>
<updated>2009-01-19T09:31:00-08:00</updated>
<author><name>Barry Pederson</name>
<email>bp@barryp.org</email>
</author>
<content type="html">&lt;p&gt;Wrapped up another release of &lt;a href=&quot;/software/py-amqplib&quot;&gt;py-amqplib&lt;/a&gt;, version 0.6 - which features a major reorganization of the
codebase to make the library more maintainable and lays the groundwork for an optional thread-assisted mode that
allows for flow control and timeouts (being worked on in a &lt;a href=&quot;http://hg.barryp.org/py-amqplib-devel/&quot;&gt;development repository&lt;/a&gt;). &lt;/p&gt;</content>
</entry>
<entry>
<title>Building additional PHP modules on OSX</title>
<link href="/blog/entries/building-additional-php-modules-osx"></link>
<id>urn:uuid:d6dedaf0-9a55-6a46-528e-44e43df37111</id>
<updated>2008-12-08T20:09:00-08:00</updated>
<author><name>Barry Pederson</name>
<email>bp@barryp.org</email>
</author>
<content type="html">&lt;body&gt;&lt;p&gt;Normally I try to avoid dealing with PHP if at all possible, but there is now a PHP port of &lt;a href=&quot;/software/py-amqplib&quot;&gt;py-amqplib&lt;/a&gt;
called &lt;a href=&quot;http://code.google.com/p/php-amqplib/&quot;&gt;php-amqplib&lt;/a&gt;, and I offered to help out with it a bit.  Maybe partially out of guilt for having
written the mess of Python code it was based on :)&lt;/p&gt;
&lt;p&gt;I thought it would be handy to work on it using my MacBook.  OS X 10.5 (Leopard) has PHP 5.2.6 built in standard, but unfortunately it doesn&#039;t have the &lt;code&gt;bcmath&lt;/code&gt; extension included, which php-amqplib makes use of.  Turns out building the module wasn&#039;t that difficult.  &lt;a href=&quot;http://kenior.com/macintosh/adding-gd-library-for-mac-os-x-leopard&quot;&gt;This page&lt;/a&gt; got me going - although building &lt;code&gt;bcmath&lt;/code&gt; was much simpler.  Since I had the Apple Developer Tools for 10.5 installed, it was just a matter of ...&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mkdir /SourceCache&lt;/li&gt;
&lt;li&gt;cd /SourceCache&lt;/li&gt;
&lt;li&gt;fetch &lt;a href=&quot;https://www.php.net/get/php-5.2.6.tar.gz/from/this/mirror&quot;&gt;https://www.php.net/get/php-5.2.6.tar.gz/from/this/mirror&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;tar xzvf php-5.2.6.tar.gz&lt;/li&gt;
&lt;li&gt;cd php-5.2.6/ext/bcmath&lt;/li&gt;
&lt;li&gt;phpize&lt;/li&gt;
&lt;li&gt;./configure&lt;/li&gt;
&lt;li&gt;make&lt;/li&gt;
&lt;li&gt;sudo make install&lt;/li&gt;
&lt;li&gt;cd /etc&lt;/li&gt;
&lt;li&gt;cp php.ini.default php.ini&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And then edit /etc/php.ini to make these two changes:&lt;/p&gt;
&lt;div class=&quot;source&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;gd&quot;&gt;--- php.ini.default     2008-07-15 14:19:15.000000000 -0500&lt;/span&gt;
&lt;span class=&quot;gi&quot;&gt;+++ php.ini     2008-12-08 21:44:52.000000000 -0600&lt;/span&gt;
&lt;span class=&quot;gu&quot;&gt;@@ -483,7 +483,7 @@&lt;/span&gt;
 user_dir =

 ; Directory in which the loadable extensions (modules) reside.
&lt;span class=&quot;gd&quot;&gt;-extension_dir = &quot;./&quot;&lt;/span&gt;
&lt;span class=&quot;gi&quot;&gt;+;extension_dir = &quot;./&quot;&lt;/span&gt;

 ; Whether or not to enable the dl() function.  The dl() function does NOT work
 ; properly in multithreaded servers, such as IIS or Zeus, and is automatically
&lt;span class=&quot;gu&quot;&gt;@@ -595,6 +595,7 @@&lt;/span&gt;
 ; needs to go here.  Specify the location of the extension with the
 ; extension_dir directive above.

&lt;span class=&quot;gi&quot;&gt;+extension=bcmath.so&lt;/span&gt;

 ; Windows Extensions
 ; Note that ODBC support is built in, so no dll is needed for it.
&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;After that, I was able to run the &lt;code&gt;amqp_test.php&lt;/code&gt; file for the first time, sending a message and receiving it in py-amqplib&#039;s &lt;code&gt;demo/demo_receive.py&lt;/code&gt;&lt;/p&gt;&lt;/body&gt;</content>
</entry>
<entry>
<title>RabbitMQ FreeBSD port </title>
<link href="/blog/entries/rabbitmq-freebsd-port"></link>
<id>urn:uuid:442f8d64-6fb8-4c8a-982f-361754691dce</id>
<updated>2008-09-01T17:29:06-07:00</updated>
<author><name>Barry Pederson</name>
<email>bp@barryp.org</email>
</author>
<content type="html">
&lt;p&gt;I was happy to see a FreeBSD port added for RabbitMQ, &lt;a href=&quot;http://www.freshports.org/net/rabbitmq&quot;&gt;net/rabbitmq&lt;/a&gt;,  although I found a couple problems with it:  it doesn&#039;t start automatically when your machine or jail boots, and when building the &lt;a href=&quot;http://hopper.squarespace.com/blog/2008/1/12/introducing-the-erlang-amqp-client.html&quot;&gt;rabbitmq-erlang-client&lt;/a&gt;, it errors out with:
&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;src/amqp_channel.erl:28: can&#039;t find include lib &amp;quot;rabbitmq_server/include/rabbit.hrl&amp;quot;
src/amqp_channel.erl:29: can&#039;t find include lib &amp;quot;rabbitmq_server/include/rabbit_framing.hrl&amp;quot;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I worked on the port a bit, and submitted a bug report and patch, &lt;a href=&quot;http://www.freebsd.org/cgi/query-pr.cgi?pr=127033&quot;&gt;ports/127033&lt;/a&gt;, that fixes these problems.
&lt;/p&gt;


</content>
</entry>
</feed>