<?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>All Things (v8) &#187; chi.mp</title>
	<atom:link href="http://www.anthonyeden.com/category/chimp/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anthonyeden.com</link>
	<description>Technology Blog</description>
	<lastBuildDate>Sat, 19 Nov 2011 18:06:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>SuperFeedr and PubSubHubBub</title>
		<link>http://www.anthonyeden.com/2010/08/superfeedr-and-pubsubhubbub/</link>
		<comments>http://www.anthonyeden.com/2010/08/superfeedr-and-pubsubhubbub/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 15:15:36 +0000</pubDate>
		<dc:creator>Anthony</dc:creator>
				<category><![CDATA[chi.mp]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[atom]]></category>
		<category><![CDATA[dotmp]]></category>
		<category><![CDATA[feeds]]></category>
		<category><![CDATA[pubsubhubbub]]></category>
		<category><![CDATA[superfeedr]]></category>

		<guid isPermaLink="false">http://www.anthonyeden.com/?p=160</guid>
		<description><![CDATA[One of the challenges I deal with on a daily basis is trying to keep the feed data flowing into chi.mp home pages. It is very challenging to consume tens-of-thousands of feeds in a reliable fashion. For a long time we did this internally out of necessity. Now though we no longer need to manage [...]]]></description>
			<content:encoded><![CDATA[<p>One of the challenges I deal with on a daily basis is trying to keep the feed data flowing into chi.mp home pages. It is very challenging to consume tens-of-thousands of feeds in a reliable fashion. For a long time we did this internally out of necessity. Now though we no longer need to manage this internally thanks to <a href="http://superfeedr.com/">Superfeedr</a>.</p>
<p>I started considering the idea of using Superfeedr well over six months ago, but still had concerns about their stability and viability &#8211; ultimately I got over that and realized that I <b>need</b> to outsource this part of chi.mp. This week I finally pushed out code for chi.mp that uses SuperFeedr&#8217;s <a href="http://en.wikipedia.org/wiki/PubSubHubbub">PubSubHubBub</a> hub to receive feed updates. Initially I used their XMPP interface, however after repeated encouragement from Julien @ Superfeedr I made the switch over to PubSubHubBub with only a small amount of work.</p>
<p>I still have to move a bunch of feeds over to use Superfeedr but I feel at least part of the burden of managing all of these various feeds beginning to leave my shoulders, and for that I am very thankful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anthonyeden.com/2010/08/superfeedr-and-pubsubhubbub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Profiling JRuby</title>
		<link>http://www.anthonyeden.com/2009/08/profiling-jruby/</link>
		<comments>http://www.anthonyeden.com/2009/08/profiling-jruby/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 19:00:54 +0000</pubDate>
		<dc:creator>Anthony</dc:creator>
				<category><![CDATA[chi.mp]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[refinery jruby profiling]]></category>

		<guid isPermaLink="false">http://anthonyeden.wordpress.com/?p=102</guid>
		<description><![CDATA[Writing multi-threaded applications is quite a challenging task, but perhaps even more challenging is debugging them when they don&#8217;t work as you expect. These past couple of weeks I&#8217;ve been working hard to troubleshoot issues with a distributed processing system built on Refinery. When running with a relatively small number of threads things work fine [...]]]></description>
			<content:encoded><![CDATA[<p>Writing multi-threaded applications is quite a challenging task, but perhaps even more challenging is debugging them when they don&#8217;t work as you expect. These past couple of weeks I&#8217;ve been working hard to troubleshoot issues with a distributed processing system built on <a href="http://github.com/aeden/refinery">Refinery</a>. When running with a relatively small number of threads things work fine &#8211; processing goes about its merry way at a level of throughput that is expected. As soon as we increase the number of threads though, all hell breaks loose.</p>
<p>As part of the troubleshooting process we decided to hook up a profiler. I started out looking at the profiler that&#8217;s built into JRuby (use the &#8211;sample option) and got a little bit of data. Urged on by <a href="http://twitter.com/dje">@dje</a> I started looking at Java profilers. It&#8217;s been a while since I&#8217;ve dug into the world of Java so I started with open source tools to get my bearings. Suffice to say I did not find what I was looking for there, so I did what any self-respecting Internet-savvy being would do in my place: I twittered it.</p>
<p>Thanks to <a href="http://twitter.com/sethladd">@sethladd</a> I downloaded <a href="http://www.yourkit.com/">YourKit</a>, got it hooked up in about 30 minutes with the production system and away I went. The results so far have been promising. Some of the issues that could be fixed have, however we are basically at a point where we&#8217;ve run into a wall with Ruby&#8217;s Net::HTTP implementation. The long term solution is probably to replace the Net::HTTP library with something based on the Reactor pattern (see my <a href="http://github.com/aeden/jruby-http-reactor">jruby-http-reactor</a> project for the initial baby-steps in that direction) but the bottom line is without a profiler to help us get headed on the right path we probably would have spent a lot more time &#8220;fixing&#8221; things that weren&#8217;t broken. If you&#8217;re considering using JRuby consider that you will have access to a wide variety of Java tools that can be quite helpful when troubleshooting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anthonyeden.com/2009/08/profiling-jruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

