<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Ben J. Christensen</title>
	<atom:link href="http://benjchristensen.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://benjchristensen.com</link>
	<description></description>
	<lastBuildDate>Fri, 25 May 2012 19:08:30 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Comment on MySQL JDBC Memory Usage on Large ResultSet by Cory</title>
		<link>http://benjchristensen.com/2008/05/27/mysql-jdbc-memory-usage-on-large-resultset/#comment-575</link>
		<dc:creator><![CDATA[Cory]]></dc:creator>
		<pubDate>Fri, 25 May 2012 19:08:30 +0000</pubDate>
		<guid isPermaLink="false">http://benjchristensen.wordpress.com/?p=59#comment-575</guid>
		<description><![CDATA[Thank you! This was very helpful. =D]]></description>
		<content:encoded><![CDATA[<p>Thank you! This was very helpful. =D</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on 32-bit versus 64-bit JDK Memory Usage by Hideous Penguin Boy</title>
		<link>http://benjchristensen.com/2007/02/16/32-bit-versus-64-bit-jdk-memory-usage/#comment-574</link>
		<dc:creator><![CDATA[Hideous Penguin Boy]]></dc:creator>
		<pubDate>Wed, 23 May 2012 12:53:05 +0000</pubDate>
		<guid isPermaLink="false">http://benjchristensen.wordpress.com/2007/02/16/32-bit-versus-64-bit-jdk-memory-usage/#comment-574</guid>
		<description><![CDATA[good stuff - very interesting and useful]]></description>
		<content:encoded><![CDATA[<p>good stuff &#8211; very interesting and useful</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on How to strip invalid XML characters by psd2magento</title>
		<link>http://benjchristensen.com/2008/02/07/how-to-strip-invalid-xml-characters/#comment-569</link>
		<dc:creator><![CDATA[psd2magento]]></dc:creator>
		<pubDate>Wed, 25 Apr 2012 09:10:10 +0000</pubDate>
		<guid isPermaLink="false">http://benjchristensen.wordpress.com/?p=54#comment-569</guid>
		<description><![CDATA[I needed php code to validate xml code. Thanks for the post!]]></description>
		<content:encoded><![CDATA[<p>I needed php code to validate xml code. Thanks for the post!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Useless SVN Error Message: Network connection closed unexpectedly by Seth</title>
		<link>http://benjchristensen.com/2010/06/01/useless-svn-error-message-network-connection-closed-unexpectedly/#comment-567</link>
		<dc:creator><![CDATA[Seth]]></dc:creator>
		<pubDate>Sat, 14 Apr 2012 18:44:35 +0000</pubDate>
		<guid isPermaLink="false">http://benjchristensen.com/?p=300#comment-567</guid>
		<description><![CDATA[In my case, this was the problem
http://www.preshweb.co.uk/2011/03/slow-ssh-connections-hanging-at-gssapi-auth/

Simply adding &quot;GSSAPIAuthentication no&quot; to the (correct) ssh config file worked.]]></description>
		<content:encoded><![CDATA[<p>In my case, this was the problem<br />
<a href="http://www.preshweb.co.uk/2011/03/slow-ssh-connections-hanging-at-gssapi-auth/" rel="nofollow">http://www.preshweb.co.uk/2011/03/slow-ssh-connections-hanging-at-gssapi-auth/</a></p>
<p>Simply adding &#8220;GSSAPIAuthentication no&#8221; to the (correct) ssh config file worked.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on WebService Performance on EC2 Instances by Aditya</title>
		<link>http://benjchristensen.com/2012/01/05/webservice-performance-on-ec2-instances/#comment-562</link>
		<dc:creator><![CDATA[Aditya]]></dc:creator>
		<pubDate>Mon, 23 Jan 2012 14:42:32 +0000</pubDate>
		<guid isPermaLink="false">http://benjchristensen.com/?p=443#comment-562</guid>
		<description><![CDATA[Very nice and informative article. I think this is a very unique way of calibrating the different instance type and also the most pragmatic way to decide which instance types matches a particular web applications and its volumes.

Thanks again for all the hard work you have put in here]]></description>
		<content:encoded><![CDATA[<p>Very nice and informative article. I think this is a very unique way of calibrating the different instance type and also the most pragmatic way to decide which instance types matches a particular web applications and its volumes.</p>
<p>Thanks again for all the hard work you have put in here</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Simple Sparkline using SVG Path and D3.js by duopixel</title>
		<link>http://benjchristensen.com/2011/08/08/simple-sparkline-using-svg-path-and-d3-js/#comment-544</link>
		<dc:creator><![CDATA[duopixel]]></dc:creator>
		<pubDate>Tue, 20 Dec 2011 06:03:31 +0000</pubDate>
		<guid isPermaLink="false">http://benjchristensen.com/?p=388#comment-544</guid>
		<description><![CDATA[I have used both quite extensively (Raphael a bit more than D3) and I&#039;d say they&#039;re quite different beasts. Raphael has so many things that make path manipulation and geometry simple, but D3 is really performant and simple when it comes to transforming data into visual representations.

I find myself wishing D3 had some of the things Raphael has and viceversa. Whenever I need to do visualization I use D3, and with drawing I use Raphael.]]></description>
		<content:encoded><![CDATA[<p>I have used both quite extensively (Raphael a bit more than D3) and I&#8217;d say they&#8217;re quite different beasts. Raphael has so many things that make path manipulation and geometry simple, but D3 is really performant and simple when it comes to transforming data into visual representations.</p>
<p>I find myself wishing D3 had some of the things Raphael has and viceversa. Whenever I need to do visualization I use D3, and with drawing I use Raphael.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dynamic Stacked Bar Chart Using d3.js by Craig Wickesser</title>
		<link>http://benjchristensen.com/2011/12/16/dynamic-stacked-bar-chart-using-d3-js/#comment-543</link>
		<dc:creator><![CDATA[Craig Wickesser]]></dc:creator>
		<pubDate>Sun, 18 Dec 2011 02:51:10 +0000</pubDate>
		<guid isPermaLink="false">http://benjchristensen.com/?p=437#comment-543</guid>
		<description><![CDATA[That would be great if you can share. I wish I could share my code. My work environment would require that I a) get approval for releasing the code, b) get someone to review the code for any proprietary information, c) print it out, d) type it in at home.

Needless to say, that process really puts a damper on sharing most of the code I work on, but if I ever have something I can share, I&#039;ll certainly do so and post a comment on here.

I&#039;m also looking to do a post on JavaScriptMVC now that I&#039;ve developed several applications with it which may be of interest to you (and your readers) since it&#039;s JavaScript, although not related to charting/svg.]]></description>
		<content:encoded><![CDATA[<p>That would be great if you can share. I wish I could share my code. My work environment would require that I a) get approval for releasing the code, b) get someone to review the code for any proprietary information, c) print it out, d) type it in at home.</p>
<p>Needless to say, that process really puts a damper on sharing most of the code I work on, but if I ever have something I can share, I&#8217;ll certainly do so and post a comment on here.</p>
<p>I&#8217;m also looking to do a post on JavaScriptMVC now that I&#8217;ve developed several applications with it which may be of interest to you (and your readers) since it&#8217;s JavaScript, although not related to charting/svg.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dynamic Stacked Bar Chart Using d3.js by Ben Christensen</title>
		<link>http://benjchristensen.com/2011/12/16/dynamic-stacked-bar-chart-using-d3-js/#comment-542</link>
		<dc:creator><![CDATA[Ben Christensen]]></dc:creator>
		<pubDate>Sat, 17 Dec 2011 20:25:02 +0000</pubDate>
		<guid isPermaLink="false">http://benjchristensen.com/?p=437#comment-542</guid>
		<description><![CDATA[Craig, glad it was of interest to you. It was an interesting one to figure out. The concrete implementation will be more involved and I look forward to it coming together. I may be able to share that final outcome via the Netflix Tech Blog. If that happens I&#039;ll post back here.

It sounds like you&#039;ve got some interesting use cases, if you can ever share I&#039;d like to see those examples.

Ben]]></description>
		<content:encoded><![CDATA[<p>Craig, glad it was of interest to you. It was an interesting one to figure out. The concrete implementation will be more involved and I look forward to it coming together. I may be able to share that final outcome via the Netflix Tech Blog. If that happens I&#8217;ll post back here.</p>
<p>It sounds like you&#8217;ve got some interesting use cases, if you can ever share I&#8217;d like to see those examples.</p>
<p>Ben</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Dynamic Stacked Bar Chart Using d3.js by Craig Wickesser</title>
		<link>http://benjchristensen.com/2011/12/16/dynamic-stacked-bar-chart-using-d3-js/#comment-541</link>
		<dc:creator><![CDATA[Craig Wickesser]]></dc:creator>
		<pubDate>Sat, 17 Dec 2011 01:02:46 +0000</pubDate>
		<guid isPermaLink="false">http://benjchristensen.com/?p=437#comment-541</guid>
		<description><![CDATA[Ben,

Another interesting demo and use case. I&#039;m taking a serious look at d3 for my next set of charts. Up until now I&#039;ve used raphael and g.raphael with a bunch of custom code and charts to get what I needed (since the default impl. is rather basic -- the developer of raphael/g.raphael got hired by Sencha, you might have noticed Sencha 4 has a pretty nice charting library now :).

I had built a pie chart that allowed you to double click on a slice to drill down into more detail. While in &quot;drill down&quot; mode you could navigate through the drill down data for the other original slices (really wish I could share a picture of it, or the code). I also extended the &quot;bubble&quot; chart so the circles would vary in color based on some condition using the Roy G Biv (red, orange, yellow, green...) colors. There would be some condition that I&#039;d check to dynamically adjust what the colors represented as data was updated (it was live/real-time chart). So initially it might have been something like: 0 - 4 = red, 5 - 10 = orange, etc. but could change as new data arrived (again, a picture or video would do it more justice).

anyways, thanks for another interesting post.]]></description>
		<content:encoded><![CDATA[<p>Ben,</p>
<p>Another interesting demo and use case. I&#8217;m taking a serious look at d3 for my next set of charts. Up until now I&#8217;ve used raphael and g.raphael with a bunch of custom code and charts to get what I needed (since the default impl. is rather basic &#8212; the developer of raphael/g.raphael got hired by Sencha, you might have noticed Sencha 4 has a pretty nice charting library now <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>I had built a pie chart that allowed you to double click on a slice to drill down into more detail. While in &#8220;drill down&#8221; mode you could navigate through the drill down data for the other original slices (really wish I could share a picture of it, or the code). I also extended the &#8220;bubble&#8221; chart so the circles would vary in color based on some condition using the Roy G Biv (red, orange, yellow, green&#8230;) colors. There would be some condition that I&#8217;d check to dynamically adjust what the colors represented as data was updated (it was live/real-time chart). So initially it might have been something like: 0 &#8211; 4 = red, 5 &#8211; 10 = orange, etc. but could change as new data arrived (again, a picture or video would do it more justice).</p>
<p>anyways, thanks for another interesting post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Simple Sparkline using SVG Path and D3.js by Ben Christensen</title>
		<link>http://benjchristensen.com/2011/08/08/simple-sparkline-using-svg-path-and-d3-js/#comment-540</link>
		<dc:creator><![CDATA[Ben Christensen]]></dc:creator>
		<pubDate>Fri, 09 Dec 2011 17:43:44 +0000</pubDate>
		<guid isPermaLink="false">http://benjchristensen.com/?p=388#comment-540</guid>
		<description><![CDATA[Hi Dev,

A video has been posted of the dashboard in a new blog post by my manager on the Netflix Tech Blog, so you can see it running: http://techblog.netflix.com/2011/12/making-netflix-api-more-resilient.html

The video itself is on Vimeo at http://vimeo.com/33359539

Yes, the circles move dynamically, though in our production environment with such large amounts of data the sizes move fairly gradually over the course of a day, so the movement doesn&#039;t show very visibly in the short example video.

The circle size represents the volume of traffic, so by glancing at the dashboard one can easily see which circuits (code paths) are taking the most traffic.

The color of the circle represents the health on a 0-100% scale going from green through yellow to orange to red and the gradients in between.

This is calculated using the rolling 10-second window discussed in the blog post based on the various stats (Success, Latent, Timeout, Rejected, ShortCircuited, Failure).

The color gradient is linear while the size is size is exponential (since our range of low and high volume circuits is significant).

These are the definitions used for d3:

	self.circuitBreakerCircleRadius = d3.scale.pow().exponent(0.5).domain([0, 400]).range([&quot;5&quot;, maxRadiusForCircle]); // requests per second per host
	self.circuitBreakerCircleYaxis = d3.scale.linear().domain([0, 400]).range([&quot;30%&quot;, maxXaxisForCircle]);
	self.circuitBreakerCircleXaxis = d3.scale.linear().domain([0, 400]).range([&quot;30%&quot;, maxYaxisForCircle]);
	self.circuitBreakerColorRange = d3.scale.linear().domain([10, 25, 40, 50]).range([&quot;green&quot;, &quot;#FFCC00&quot;, &quot;#FF9900&quot;, &quot;red&quot;]);
	self.circuitBreakerErrorPercentageColorRange = d3.scale.linear().domain([0, 10, 35, 50]).range([&quot;grey&quot;, &quot;black&quot;, &quot;#FF9900&quot;, &quot;red&quot;]);

Hope this helps (and sorry about such a late reply).]]></description>
		<content:encoded><![CDATA[<p>Hi Dev,</p>
<p>A video has been posted of the dashboard in a new blog post by my manager on the Netflix Tech Blog, so you can see it running: <a href="http://techblog.netflix.com/2011/12/making-netflix-api-more-resilient.html" rel="nofollow">http://techblog.netflix.com/2011/12/making-netflix-api-more-resilient.html</a></p>
<p>The video itself is on Vimeo at <a href="http://vimeo.com/33359539" rel="nofollow">http://vimeo.com/33359539</a></p>
<p>Yes, the circles move dynamically, though in our production environment with such large amounts of data the sizes move fairly gradually over the course of a day, so the movement doesn&#8217;t show very visibly in the short example video.</p>
<p>The circle size represents the volume of traffic, so by glancing at the dashboard one can easily see which circuits (code paths) are taking the most traffic.</p>
<p>The color of the circle represents the health on a 0-100% scale going from green through yellow to orange to red and the gradients in between.</p>
<p>This is calculated using the rolling 10-second window discussed in the blog post based on the various stats (Success, Latent, Timeout, Rejected, ShortCircuited, Failure).</p>
<p>The color gradient is linear while the size is size is exponential (since our range of low and high volume circuits is significant).</p>
<p>These are the definitions used for d3:</p>
<p>	self.circuitBreakerCircleRadius = d3.scale.pow().exponent(0.5).domain([0, 400]).range(["5", maxRadiusForCircle]); // requests per second per host<br />
	self.circuitBreakerCircleYaxis = d3.scale.linear().domain([0, 400]).range(["30%", maxXaxisForCircle]);<br />
	self.circuitBreakerCircleXaxis = d3.scale.linear().domain([0, 400]).range(["30%", maxYaxisForCircle]);<br />
	self.circuitBreakerColorRange = d3.scale.linear().domain([10, 25, 40, 50]).range(["green", "#FFCC00", "#FF9900", "red"]);<br />
	self.circuitBreakerErrorPercentageColorRange = d3.scale.linear().domain([0, 10, 35, 50]).range(["grey", "black", "#FF9900", "red"]);</p>
<p>Hope this helps (and sorry about such a late reply).</p>
]]></content:encoded>
	</item>
</channel>
</rss>

