<?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>Bit Mojo - Hiram Chirino &#187; Other</title>
	<atom:link href="http://hiramchirino.com/blog/category/other/feed/" rel="self" type="application/rss+xml" />
	<link>http://hiramchirino.com/blog</link>
	<description>My Ramblings on Hawt Tech</description>
	<lastBuildDate>Fri, 03 Feb 2012 14:25:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Apache Apollo 1.0 Released!</title>
		<link>http://hiramchirino.com/blog/2012/02/apache-apollo-1-0-released/</link>
		<comments>http://hiramchirino.com/blog/2012/02/apache-apollo-1-0-released/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 14:21:52 +0000</pubDate>
		<dc:creator>Hiram Chirino</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://hiramchirino.com/blog/?p=191</guid>
		<description><![CDATA[I&#8217;m pleased to announce the availability of Apache Apollo 1.0.  Apollo is a faster, more reliable, easier to maintain messaging broker built from the foundations of the Apache ActiveMQ project but with a radically different threading architecture which lets it scale to large number of concurrent connections and destinations while using a constant number of threads. Apollo [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce the availability of <a href="http://activemq.apache.org/apollo" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo?referer=');">Apache Apollo</a> 1.0.  Apollo is a faster, more reliable, easier to maintain messaging broker built from the foundations of the <a href="http://activemq.apache.org" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org?referer=');">Apache ActiveMQ</a> project but with a radically different threading architecture which lets it scale to large number of concurrent connections and destinations while using a constant number of threads.</p>
<p>Apollo features:</p>
<ul>
<li><a href="http://stomp.github.com/stomp-specification-1.0.html" onclick="pageTracker._trackPageview('/outgoing/stomp.github.com/stomp-specification-1.0.html?referer=');">Stomp 1.0</a> Protocol Support</li>
<li><a href="http://stomp.github.com/stomp-specification-1.1.html" onclick="pageTracker._trackPageview('/outgoing/stomp.github.com/stomp-specification-1.1.html?referer=');">Stomp 1.1</a> Protocol Support</li>
<li><a href="http://activemq.apache.org/apollo/documentation/user-manual.html#Destination_Types" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/user-manual.html_Destination_Types?referer=');">Topics and Queues</a></li>
<li><a href="http://activemq.apache.org/apollo/documentation/user-manual.html#Browsing_Subscriptions" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/user-manual.html_Browsing_Subscriptions?referer=');">Queue Browsers</a></li>
<li><a href="http://activemq.apache.org/apollo/documentation/user-manual.html#Topic_Durable_Subscriptions" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/user-manual.html_Topic_Durable_Subscriptions?referer=');">Durable Subscriptions on Topics</a></li>
<li><a href="http://activemq.apache.org/apollo/documentation/user-manual.html#Reliable_Messaging" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/user-manual.html_Reliable_Messaging?referer=');">Persistent/Reliable Messaging</a></li>
<li><a href="http://activemq.apache.org/apollo/documentation/user-manual.html#Message_Expiration" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/user-manual.html_Message_Expiration?referer=');">Message Expiration</a></li>
<li><a href="http://activemq.apache.org/apollo/documentation/architecture.html#Message_Swapping" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/architecture.html_Message_Swapping?referer=');">Message Swapping</a></li>
<li><a href="http://activemq.apache.org/apollo/documentation/user-manual.html#Message_Selectors" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/user-manual.html_Message_Selectors?referer=');">Message Selectors</a></li>
<li><a href="http://activemq.apache.org/apollo/documentation/user-manual.html#Authentication" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/user-manual.html_Authentication?referer=');">JAAS Authentication</a></li>
<li><a href="http://activemq.apache.org/apollo/documentation/user-manual.html#Authorization" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/user-manual.html_Authorization?referer=');">ACL based Authorization</a></li>
<li><a href="http://activemq.apache.org/apollo/documentation/user-manual.html#The_SSL_TLS_Transport" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/user-manual.html_The_SSL_TLS_Transport?referer=');">SSL/TLS Support</a> and Certificate based Authentication</li>
<li><a href="http://activemq.apache.org/apollo/documentation/management-api.html" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/management-api.html?referer=');">REST Management API</a></li>
</ul>
<p>Yes, it supports JMS!  Just <a href="http://activemq.apache.org/apollo/download.html" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/download.html?referer=');">download Apollo</a>, start it up using the <a href="http://activemq.apache.org/apollo/documentation/getting-started.html" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/getting-started.html?referer=');">getting started guide</a> and then check out the distribution&#8217;s <code>examples</code> directory.  Oh yeah, Apollo has great <a href="http://activemq.apache.org/apollo/documentation/user-manual.html" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo/documentation/user-manual.html?referer=');">documentation</a>!</p>
<p>I&#8217;ve re-run the <a href="http://hiramchirino.com/stomp-benchmark/ec2-c1.xlarge/index.html">STOMP benchmarks</a> I covered in a <a href="http://hiramchirino.com/blog/2011/12/stomp-messaging-benchmarks-activemq-vs-apollo-vs-hornetq-vs-rabbitmq/">previous post</a> against the 1.0 release.  The benchmark uses the STOMP protocol to build an apples to apples performance comparison between all the major STOMP servers.  I&#8217;ve also built a new <a href="http://hiramchirino.com/jms-benchmark/ec2-c1.xlarge/index.html">JMS benchmark</a> which uses the JMS API build the same kind of performance comparisons.  Both benchmarks are open source and available to be tried out on your choice of hardware.  Or better yet, follow the simple instructions found in each project&#8217;s readme to run the benchmarks on EC2:</p>
<ul>
<li><a href="https://github.com/chirino/stomp-benchmark" onclick="pageTracker._trackPageview('/outgoing/github.com/chirino/stomp-benchmark?referer=');">https://github.com/chirino/stomp-benchmark</a></li>
<li><a href="https://github.com/chirino/jms-benchmark" onclick="pageTracker._trackPageview('/outgoing/github.com/chirino/jms-benchmark?referer=');">https://github.com/chirino/jms-benchmark</a></li>
</ul>
<p>For those of you wondering why the ActiveMQ project create new message broker as a subproject, it&#8217;s because we wanted to address the shift in the processor market to multi core for the next major release.  ActiveMQ currently employs complex thread locking which starts to become bottleneck as you increase the core count and you don&#8217;t end up fully exploiting the potential on large core count machines.  By developing the solution as a subproject, it&#8217;s easier to explore the best options without impacting current main line development of ActiveMQ 5.x.</p>
<p>Now that the Apollo sub project has proven itself, I think it&#8217;s time to start integrating it into ActiveMQ.  Ideally, ActiveMQ 6 switches Apollo&#8217;s messaging engine and adds/ports all the existing features we&#8217;ve come to expect out of ActiveMQ like networks of brokers and priority queues.  But we should really be talking about this on the<a href="http://activemq.apache.org/mailing-lists.html" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/mailing-lists.html?referer=');"> Apache mailing lists</a>.. join me there!</p>
]]></content:encoded>
			<wfw:commentRss>http://hiramchirino.com/blog/2012/02/apache-apollo-1-0-released/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ActiveMQ Apollo Looking Impressive</title>
		<link>http://hiramchirino.com/blog/2011/01/activemq-apollo-looking-impressive/</link>
		<comments>http://hiramchirino.com/blog/2011/01/activemq-apollo-looking-impressive/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 20:47:08 +0000</pubDate>
		<dc:creator>Hiram Chirino</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://hiramchirino.com/blog/?p=154</guid>
		<description><![CDATA[ActiveMQ Apollo is a new generation of messaging broker built from the foundations of the ActiveMQ messaging broker, but using a radically different threading and message dispatching architecture.  In it&#8217;s current incarnation, Apollo only supports the STOMP protocol but just like the original ActiveMQ, it&#8217;s been designed to be a multi protocol broker and in future [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://activemq.apache.org/apollo" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/apollo?referer=');">ActiveMQ Apollo</a> is a new generation of messaging broker built from the foundations of the <a href="http://activemq.apache.org" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org?referer=');">ActiveMQ</a> messaging broker, but using a radically different threading and message dispatching architecture.  In it&#8217;s current incarnation, Apollo only supports the <a href="http://stomp.github.com/" onclick="pageTracker._trackPageview('/outgoing/stomp.github.com/?referer=');">STOMP</a> protocol but just like the original ActiveMQ, it&#8217;s been designed to be a multi protocol broker and in future iterations it should get OpenWire support so it can be compatible with ActiveMQ 5.x JMS clients.</p>
<p>The BIGGEST change in the broker architecture was a switch to a non-blocking threading model for message processing using the <a href="http://hiramchirino.com/blog/2010/07/hawtdispatch-event-based-io/">HawtDispatch</a> library.  This meant changing many of the APIs to using a continuation passing style so that caller never blocks on a request.  The upside of the new architecture is that the most complex and brittle areas of multi-threaded code in ActiveMQ 5.x  have now been tremendously simplified.  Those areas are using actor style coarse grained synchronization thanks to HawtDispatch.</p>
<p>It is impressive how well Apollo performs. Using a little <a href="https://github.com/chirino/stomp-benchmark" onclick="pageTracker._trackPageview('/outgoing/github.com/chirino/stomp-benchmark?referer=');">benchmarking tool</a>, I compared the performance of Apollo and three other STOMP server implementations.  The benchmark tests different combinations of consumers, destinations, producers, persistence options, message sizes for a total of 74 common usage scenarios.  I ran the benchmarks on two different boxes.  If you want to peek at the complete benchmark reports, see <a href="http://hiramchirino.com/stomp-benchmark/ubuntu-4-core-report.html">Ubuntu 4 Core report</a> and <a href="http://hiramchirino.com/stomp-benchmark/osx-8-core-report.html">OS X 8 Core report</a>.</p>
<p>Apollo ends up doing really well in comparison to other servers in most cases but in some cases it&#8217;s just mind blowing.  For example:</p>
<p><img class="alignnone" title="performance graph" src="http://idisk.me.com/chirino/Public/Pictures/Skitch/osx-8-core-report.html-20110117-153041.jpg" alt="" width="509" height="198" /></p>
<p>The  scenario above is the case where you have 10 producer and 10 consumers on a single topic moving non persistent STOMP messages with a 20 byte payload.   The graph shows that Apollo can easily sustain a total consumer processing rate of 1.2 Million messages per second while the closest contender could only reach about 105,000 thousand messages per second.</p>
]]></content:encoded>
			<wfw:commentRss>http://hiramchirino.com/blog/2011/01/activemq-apollo-looking-impressive/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Mop 1.0 Milestone 1 Released!</title>
		<link>http://hiramchirino.com/blog/2009/12/mop-1-0-milestone-1-released/</link>
		<comments>http://hiramchirino.com/blog/2009/12/mop-1-0-milestone-1-released/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 12:58:15 +0000</pubDate>
		<dc:creator>Hiram Chirino</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://hiramchirino.com/blog/?p=123</guid>
		<description><![CDATA[I&#8217;m very excited to announce that Mop 1.0 M1 has been released. Mop is one of those tools that you wish you have had years ago. Most of you probably have not heard of mop yet. Mop is: &#8230; a small utility for executing Java programs which are stored as artifacts like jars or bundles [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very excited to announce that <a href="http://mop.fusesource.org/" onclick="pageTracker._trackPageview('/outgoing/mop.fusesource.org/?referer=');">Mop</a> 1.0 M1 has been released.  Mop is one of those tools that you wish you have had years ago.  Most of you probably have not heard of mop yet.  Mop is:</p>
<blockquote><p>&#8230; a small utility for executing Java programs which are stored as artifacts like jars or bundles in a Maven repository.  MOP automatically deals with the following for you transitive dependencies downloading artifacts from remote repositories and caching them locally setting up your class path</p></blockquote>
<p>It&#8217;s a wonderfully <a href="http://mop.fusesource.org/downloads/index.html" onclick="pageTracker._trackPageview('/outgoing/mop.fusesource.org/downloads/index.html?referer=');">small download</a> that weighs in at only 3.2 megs.  Why don&#8217;t you try it out today?</p>
]]></content:encoded>
			<wfw:commentRss>http://hiramchirino.com/blog/2009/12/mop-1-0-milestone-1-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActiveMQ 5.1.0 Release</title>
		<link>http://hiramchirino.com/blog/2008/05/activemq-5-1-0-release/</link>
		<comments>http://hiramchirino.com/blog/2008/05/activemq-5-1-0-release/#comments</comments>
		<pubDate>Wed, 07 May 2008 16:56:00 +0000</pubDate>
		<dc:creator>Hiram Chirino</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[activemq]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2008/05/activemq-5-1-0-release/</guid>
		<description><![CDATA[For all of you who ran into issues with ActiveMQ 5.0.0 when running it in anger, I highly recommend you give the just released ActiveMQ 5.1.0 a try. This release focused focused on making the broker rock solid. It resolved several bugs which only reared their heads in high load situations. Memory leaks have been [...]]]></description>
			<content:encoded><![CDATA[<p>For all of you who ran into issues with <a href="http://activemq.apache.org/" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/?referer=');">ActiveMQ</a> 5.0.0 when running it in anger, I highly recommend you give the just <a href="http://activemq.apache.org/activemq-510-release.html" onclick="pageTracker._trackPageview('/outgoing/activemq.apache.org/activemq-510-release.html?referer=');">released ActiveMQ 5.1.0</a> a try.  This release focused focused on making the broker rock solid.  It resolved several bugs which only reared their heads in high load situations.  Memory leaks have been squashed and performance has even improved in several areas. </p>
<p>Even if you have not had seen any issues with your 5.0.0 installation, I&#8217;d highly recommend you upgrade to 5.1.0 to avoid running into <a href="http://issues.apache.org/activemq/secure/ReleaseNote.jspa?version=11802&amp;styleName=Html&amp;projectId=10520&amp;Create=Create" onclick="pageTracker._trackPageview('/outgoing/issues.apache.org/activemq/secure/ReleaseNote.jspa?version=11802_amp_styleName=Html_amp_projectId=10520_amp_Create=Create&amp;referer=');">some of the bugs</a> that have been addressed in the release.</p>
]]></content:encoded>
			<wfw:commentRss>http://hiramchirino.com/blog/2008/05/activemq-5-1-0-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Involved with Open Source</title>
		<link>http://hiramchirino.com/blog/2006/06/getting-involved-with-open-source/</link>
		<comments>http://hiramchirino.com/blog/2006/06/getting-involved-with-open-source/#comments</comments>
		<pubDate>Thu, 15 Jun 2006 02:10:00 +0000</pubDate>
		<dc:creator>Hiram Chirino</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[open-source]]></category>

		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2006/06/getting-involved-with-open-source/</guid>
		<description><![CDATA[I have a younger brother-in-law that also went in to software development field, and he thinks that I&#8217;m the luckiest guy in the world since my day job is basically working on open source projects. Every once in a while he asks me, &#8220;How can I get more involved with open source?&#8221;. I always say, [...]]]></description>
			<content:encoded><![CDATA[<p>I have a younger brother-in-law that also went in to software development field, and he thinks that I&#8217;m the luckiest guy in the world since my day job is basically working on open source projects.  Every once in a while he asks me, &#8220;How can I get more involved with open source?&#8221;.</p>
<p>I always say, just find a project that you like and start contributing to it.  So far, not much has happened&#8230; So Jason, screw that &#8220;find a project&#8221; stuff.. How about you pick up this <a href="http://issues.apache.org/activemq/browse/AMQ-753" onclick="pageTracker._trackPageview('/outgoing/issues.apache.org/activemq/browse/AMQ-753?referer=');">issue</a>, and implement it?  It&#8217;s a small little feature that lots of folks would find handy!</p>
]]></content:encoded>
			<wfw:commentRss>http://hiramchirino.com/blog/2006/06/getting-involved-with-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog URL Moved</title>
		<link>http://hiramchirino.com/blog/2006/05/blog-url-moved/</link>
		<comments>http://hiramchirino.com/blog/2006/05/blog-url-moved/#comments</comments>
		<pubDate>Tue, 30 May 2006 18:04:00 +0000</pubDate>
		<dc:creator>Hiram Chirino</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2006/05/blog-url-moved/</guid>
		<description><![CDATA[Since I hate to be dependent on 3rd party services and URLs, I moved my Blog URL to a URL that I own: http://hiramchirino.comThey funny thing is that blogspot wasted no time when I changed how I published my blog, and someone else snatched up my old blogbucket.blogspot.com url.]]></description>
			<content:encoded><![CDATA[<p>Since I hate to be dependent on 3rd party services and URLs, I moved my Blog URL to a URL that I own: <a href="http://hiramchirino.com">http://hiramchirino.com<br /></a><br />They funny thing is that blogspot wasted no time when I changed how I published my blog, and someone else snatched up my old blogbucket.blogspot.com url.</p>
]]></content:encoded>
			<wfw:commentRss>http://hiramchirino.com/blog/2006/05/blog-url-moved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title></title>
		<link>http://hiramchirino.com/blog/2006/05/start-of-blog/</link>
		<comments>http://hiramchirino.com/blog/2006/05/start-of-blog/#comments</comments>
		<pubDate>Mon, 22 May 2006 17:46:00 +0000</pubDate>
		<dc:creator>Hiram Chirino</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://hiramchirino.com/wordpress/2006/05/start-of-blog/</guid>
		<description><![CDATA[This just a quick post on why I&#8217;m going to start blogging. I think that I get involved in many small projects, and sometimes I don&#8217;t get back some of the smaller ones. I may be deluding myself, but I&#8217;m hoping that If I post about it, one day I will re-read my blog and [...]]]></description>
			<content:encoded><![CDATA[<p>This just a quick post on why I&#8217;m going to start blogging.</p>
<p>I think that I get involved in many small projects, and sometimes I don&#8217;t get back some of the smaller ones.  I may be deluding myself, but I&#8217;m hoping that If I post about it, one day I will re-read my blog and get back to projects that I had found interesting before.  I also hope other folks may find some of these projects interesting and will help with them.</p>
]]></content:encoded>
			<wfw:commentRss>http://hiramchirino.com/blog/2006/05/start-of-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

