<?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>JADDOG</title>
	<atom:link href="http://www.jaddog.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jaddog.org</link>
	<description>Just Another Day Depending On Grace</description>
	<lastBuildDate>Fri, 27 Apr 2012 13:27:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Happy Birthday John Stott</title>
		<link>http://www.jaddog.org/2012/04/27/happy-birthday-john-stott/</link>
		<comments>http://www.jaddog.org/2012/04/27/happy-birthday-john-stott/#comments</comments>
		<pubDate>Fri, 27 Apr 2012 13:26:07 +0000</pubDate>
		<dc:creator>radez</dc:creator>
				<category><![CDATA[Depending on Grace]]></category>
		<category><![CDATA[Just Another Day]]></category>

		<guid isPermaLink="false">http://www.jaddog.org/?p=595</guid>
		<description><![CDATA[I&#8217;m subscribed to John Piper&#8217;s blog in my Google reader. Today Piper writes &#8220;Today is John Stott&#8217;s first birthday in Heaven&#8221;. Naturally I consulted Wikipedia to confirm. Look at that, I share a birthday with a man referenced in considering how to be &#8220;ambitious to live an unwasted life for the glory of Christ&#8221;. Happy Birthday [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m subscribed to John Piper&#8217;s blog in my Google reader. <a title="Learning from John Stott’s Godly Ambition :: desiringgod.org" href="http://www.desiringgod.org/blog/posts/learning-from-john-stotts-godly-ambition">Today Piper writes</a> &#8220;Today is John Stott&#8217;s first birthday in Heaven&#8221;. Naturally I consulted <a title="John Stott :: Wikipedia" href="http://en.wikipedia.org/wiki/John_Stott">Wikipedia</a> to confirm. Look at that, I share a birthday with a man referenced in considering how to be &#8220;<em>ambitious </em>to live an unwasted life for the glory of Christ&#8221;.</p>
<p>Happy Birthday John Stott</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaddog.org/2012/04/27/happy-birthday-john-stott/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>F17 Beta PreUpgrade</title>
		<link>http://www.jaddog.org/2012/04/18/f17-beta-preupgrade/</link>
		<comments>http://www.jaddog.org/2012/04/18/f17-beta-preupgrade/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 15:30:38 +0000</pubDate>
		<dc:creator>radez</dc:creator>
				<category><![CDATA[Just Another Day]]></category>

		<guid isPermaLink="false">http://www.jaddog.org/?p=592</guid>
		<description><![CDATA[I did a PreUpgrade to F17 from F16 two days ago. I was having a few issues, sound hardware wasn&#8217;t listed in the gnome-control-panel, I could see the wireless access point in my house but couldn&#8217;t connect to it, I couldn&#8217;t mount my external backup hard drive and the laptop has cut off abruptly a [...]]]></description>
			<content:encoded><![CDATA[<p>I did a PreUpgrade to F17 from F16 two days ago.<br />
I was having a few issues, sound hardware wasn&#8217;t listed in the gnome-control-panel, I could see the wireless access point in my house but couldn&#8217;t connect to it, I couldn&#8217;t mount my external backup hard drive and the laptop has cut off abruptly a few times to the point of having to pull out the battery before being able to boot it again.</p>
<p>I found this bug <a href="https://bugzilla.redhat.com/show_bug.cgi?id=746470">https://bugzilla.redhat.com/show_bug.cgi?id=746470</a> and ran the `authconf &#8211;update &#8211;nostart` command in it and deleted the ~/.pulse directory. This fixed the sound and external hard drive issues. I&#8217;ll have to see if it fixes the other issues too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaddog.org/2012/04/18/f17-beta-preupgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nushus 0.14.0</title>
		<link>http://www.jaddog.org/2012/02/27/nushus-0-14-0/</link>
		<comments>http://www.jaddog.org/2012/02/27/nushus-0-14-0/#comments</comments>
		<pubDate>Mon, 27 Feb 2012 18:24:00 +0000</pubDate>
		<dc:creator>radez</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Planet Fedora]]></category>

		<guid isPermaLink="false">http://www.jaddog.org/?p=587</guid>
		<description><![CDATA[Apparently I never announced the release of Nushus 0.13.0 back in august and never released 0.14.0. Then I got a new job and I&#8217;ve not looked at Nushus for a while. https://fedorahosted.org/nushus Release Notes: https://fedorahosted.org/nushus/wiki/Release So 0.14.0 is uploaded. I think for 0.15. I&#8217;d like to make some changes in how the yum repos are structured to [...]]]></description>
			<content:encoded><![CDATA[<p><img title="Nushus" src="https://fedorahosted.org/nushus/attachment/wiki/logo/logo-black-name.gif?format=raw" alt="" width="200" height="50" /><br />
Apparently I never announced the release of Nushus 0.13.0 back in august and never released 0.14.0.<br />
Then I got a new job and I&#8217;ve not looked at Nushus for a while. <img src='http://www.jaddog.org/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><a title="Nushus" href="https://fedorahosted.org/nushus">https://fedorahosted.org/nushus<br />
</a>Release Notes: <a title="Nushus Release Notes" href="https://fedorahosted.org/nushus/wiki/Release">https://fedorahosted.org/nushus/wiki/Release</a></p>
<p>So 0.14.0 is uploaded.<br />
I think for 0.15. I&#8217;d like to make some changes in how the yum repos are structured to try and be more standard with how other things release.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaddog.org/2012/02/27/nushus-0-14-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx, tornado and siege</title>
		<link>http://www.jaddog.org/2012/02/16/nginx-tornado-and-siege/</link>
		<comments>http://www.jaddog.org/2012/02/16/nginx-tornado-and-siege/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 15:51:26 +0000</pubDate>
		<dc:creator>radez</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Just Another Day]]></category>
		<category><![CDATA[Planet Fedora]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.jaddog.org/?p=580</guid>
		<description><![CDATA[yesterday I blogged about nginx, tornado and http_load I finished the day running seige and wanted to share my results. I got siege with yum install seige This test was run on a Fedora 16 x86_64 RHEV VM. Given 4G of RAM and 4 sockets across 4 3Ghz i7 cores nginx is running at http://localhost/ tornado is [...]]]></description>
			<content:encoded><![CDATA[<p>yesterday I blogged about <a title="nginx, tornado and http_load" href="http://www.jaddog.org/2012/02/15/nginx-tornado-and-http_load/">nginx, tornado and http_load<br />
</a>I finished the day running seige and wanted to share my results.</p>
<p>I got siege with yum install seige<br />
This test was run on a Fedora 16 x86_64 RHEV VM.<br />
Given 4G of RAM and 4 sockets across 4 3Ghz i7 cores</p>
<p>nginx is running at http://localhost/<br />
tornado is running at  http://localhost:8888/</p>
<p>I tested each server with both 50 and 500 concurrent users for a minute at a time.</p>
<p># siege -d1 -t1M -c50 http://localhost/<br />
Transactions: 5670 hits<br />
Availability: 100.00 %<br />
Elapsed time: 59.59 secs<br />
Data transferred: 20.01 MB<br />
Response time: 0.00 secs<br />
Transaction rate: 95.15 trans/sec<br />
Throughput: 0.34 MB/sec<br />
Concurrency: 0.31<br />
Successful transactions: 5670<br />
Failed transactions: 0<br />
Longest transaction: 0.35<br />
Shortest transaction: 0.00</p>
<p># siege -d1 -t1M -c50 http://localhost:8888/<br />
Transactions: 5871 hits<br />
Availability: 100.00 %<br />
Elapsed time: 59.62 secs<br />
Data transferred: 0.07 MB<br />
Response time: 0.00 secs<br />
Transaction rate: 98.47 trans/sec<br />
Throughput: 0.00 MB/sec<br />
Concurrency: 0.44<br />
Successful transactions: 5871<br />
Failed transactions: 0<br />
Longest transaction: 0.96<br />
Shortest transaction: 0.00</p>
<p># siege -d1 -t1M -c500 http://localhost/<br />
Transactions: 49412 hits<br />
Availability: 100.00 %<br />
Elapsed time: 59.74 secs<br />
Data transferred: 174.35 MB<br />
Response time: 0.04 secs<br />
Transaction rate: 827.12 trans/sec<br />
Throughput: 2.92 MB/sec<br />
Concurrency: 29.68<br />
Successful transactions: 49412<br />
Failed transactions: 0<br />
Longest transaction: 21.14<br />
Shortest transaction: 0.00</p>
<p># siege -d1 -t1M -c500 http://localhost:8888/<br />
Transactions: 42345 hits<br />
Availability: 100.00 %<br />
Elapsed time: 59.80 secs<br />
Data transferred: 0.48 MB<br />
Response time: 0.17 secs<br />
Transaction rate: 708.11 trans/sec<br />
Throughput: 0.01 MB/sec<br />
Concurrency: 121.91<br />
Successful transactions: 42345<br />
Failed transactions: 0<br />
Longest transaction: 3.88<br />
Shortest transaction: 0.00</p>
<p>I was initially confused by the concurrency metric, this is from the <a title="Siege Manual" href="http://www.joedog.org/siege-manual/">siege manual</a>:</p>
<blockquote><p>Concurrency is average number of simultaneous connections, a number which rises as server performance decreases.</p></blockquote>
<p>So it seems the siege results are consistent with the http_load results.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaddog.org/2012/02/16/nginx-tornado-and-siege/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nginx, tornado and http_load</title>
		<link>http://www.jaddog.org/2012/02/15/nginx-tornado-and-http_load/</link>
		<comments>http://www.jaddog.org/2012/02/15/nginx-tornado-and-http_load/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 18:30:55 +0000</pubDate>
		<dc:creator>radez</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Just Another Day]]></category>
		<category><![CDATA[Planet Fedora]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.jaddog.org/?p=574</guid>
		<description><![CDATA[I don&#8217;t have much experience with any of these three, this is me just fiddling with them, not trying to run any kind of official test. I was intregued by this post:  http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/ It&#8217;s a little old so I figured I&#8217;d glean a few things from it and recreate some of the tests, first one I came [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t have much experience with any of these three, this is me just fiddling with them, not trying to run any kind of official test.</p>
<p>I was intregued by this post:  <a href="http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/">http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/</a></p>
<p>It&#8217;s a little old so I figured I&#8217;d glean a few things from it and recreate some of the tests, first one I came up with was comparing bench marks of nginx to tornado. I eventually want to compare Django, Rails, Flask and Sinatra. This is an initial attempt to get headed in that direction.</p>
<p>This test was run on a Fedora 16 x86_64 RHEV VM.<br />
Given 4G of RAM and 4 sockets across 4 3Ghz i7 cores</p>
<p>Tornado is running the Hello World code on  <a href="http://www.tornadoweb.org/">http://www.tornadoweb.org/</a><br />
Nginx is running with the default install settings.</p>
<blockquote><p># rpm -q python-tornado nginx<br />
python-tornado-2.1.1-1.fc16.noarch<br />
nginx-1.0.10-1.fc16.x86_64</p></blockquote>
<p>pulled http_load from: <a title="http_load" href="http://acme.com/software/http_load/http_load-12mar2006.tar.gz">http://acme.com/software/http_load/http_load-12mar2006.tar.gz</a></p>
<p>Requests to Tornado are calling http://localhost:8888/ and to Nginx are calling http://localhost/</p>
<p>I started with 1 second tests alternating rate and parallel</p>
<blockquote><p># ./http_load -rate 1000 -seconds 10 tornado<br />
9999 fetches, 2 max parallel, 119988 bytes, in 10 seconds<br />
12 mean bytes/connection<br />
999.899 fetches/sec, 11998.8 bytes/sec<br />
msecs/connect: 0.089374 mean, 0.263 max, 0.082 min<br />
msecs/first-response: 0.355484 mean, 0.828 max, 0.268 min<br />
HTTP response codes:<br />
code 200 &#8212; 9999<br />
# ./http_load -parallel 1000 -seconds 10 tornado<br />
33616 fetches, 1000 max parallel, 403392 bytes, in 10.0002 seconds<br />
12 mean bytes/connection<br />
3361.53 fetches/sec, 40338.4 bytes/sec<br />
msecs/connect: 161.429 mean, 7019.76 max, 0.067 min<br />
msecs/first-response: 44.4849 mean, 2268.71 max, 2.328 min<br />
HTTP response codes:<br />
code 200 &#8212; 33616<br />
# ./http_load -rate 1000 -seconds 10 nginx<br />
9999 fetches, 22 max parallel, 3.69963e+07 bytes, in 10 seconds<br />
3700 mean bytes/connection<br />
999.899 fetches/sec, 3.69963e+06 bytes/sec<br />
msecs/connect: 0.0977219 mean, 0.198 max, 0.082 min<br />
msecs/first-response: 0.128703 mean, 21.869 max, 0.05 min<br />
HTTP response codes:<br />
code 200 &#8212; 9999<br />
# ./http_load -parallel 1000 -seconds 10 nginx<br />
94970 fetches, 70 max parallel, 3.51389e+08 bytes, in 10.0001 seconds<br />
3700 mean bytes/connection<br />
9496.95 fetches/sec, 3.51387e+07 bytes/sec<br />
msecs/connect: 0.420914 mean, 3.828 max, 0.061 min<br />
msecs/first-response: 1.05835 mean, 7.353 max, 0.683 min<br />
HTTP response codes:<br />
code 200 &#8212; 94970</p></blockquote>
<p>Next I added more time</p>
<blockquote><p># ./http_load -rate 1000 -seconds 30 tornado<br />
http://localhost:8888/: Cannot assign requested address (69 Times)<br />
28967 fetches, 291 max parallel, 347604 bytes, in 30.0007 seconds<br />
12 mean bytes/connection<br />
965.545 fetches/sec, 11586.5 bytes/sec<br />
msecs/connect: 2.30785 mean, 1001.45 max, 0.084 min<br />
msecs/first-response: 1.37267 mean, 153.792 max, 0.25 min<br />
HTTP response codes:<br />
code 200 &#8212; 28967<br />
# ./http_load -parallel 1000 -seconds 30 tornado<br />
102504 fetches, 1000 max parallel, 1.23005e+06 bytes, in 30 seconds<br />
12 mean bytes/connection<br />
3416.8 fetches/sec, 41001.6 bytes/sec<br />
msecs/connect: 225.68 mean, 15091.6 max, 0.064 min<br />
msecs/first-response: 44.3875 mean, 4201.99 max, 2.804 min<br />
HTTP response codes:<br />
code 200 &#8212; 102504<br />
# ./http_load -rate 1000 -seconds 30 nginx<br />
29999 fetches, 18 max parallel, 1.10996e+08 bytes, in 30 seconds<br />
3700 mean bytes/connection<br />
999.966 fetches/sec, 3.69988e+06 bytes/sec<br />
msecs/connect: 0.111561 mean, 0.295 max, 0.083 min<br />
msecs/first-response: 0.108637 mean, 17.916 max, 0.049 min<br />
HTTP response codes:<br />
code 200 &#8212; 29999<br />
# ./http_load -parallel 1000 -seconds 30 nginx<br />
302900 fetches, 168 max parallel, 1.12073e+09 bytes, in 30 seconds<br />
3700 mean bytes/connection<br />
10096.7 fetches/sec, 3.73577e+07 bytes/sec<br />
msecs/connect: 0.639248 mean, 1004.55 max, 0.061 min<br />
msecs/first-response: 1.01887 mean, 204.58 max, 0.672 min<br />
HTTP response codes:<br />
code 200 &#8212; 302900</p></blockquote>
<p>At this point it looks like Nginx is a bit faster in response, but both can handle an similar rate of requests. When firing parallel requests it looks like nginx is handling apx 3 time the number of requests. I you could specify workers in the conf file, but it was configured with 1 worker by default.</p>
<p>Out of the box http_load seems to indicate nginx being a little more robust container, I&#8217;d be interested to see some use cases that turn the tables on this fairly naive evaluation.</p>
<p>I hope to post more tests as I get time to build them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaddog.org/2012/02/15/nginx-tornado-and-http_load/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>yum install rhevm-webadmin-portal</title>
		<link>http://www.jaddog.org/2012/02/15/yum-install-rhevm-webadmin-portal/</link>
		<comments>http://www.jaddog.org/2012/02/15/yum-install-rhevm-webadmin-portal/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 15:04:35 +0000</pubDate>
		<dc:creator>radez</dc:creator>
				<category><![CDATA[Just Another Day]]></category>
		<category><![CDATA[Planet Fedora]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.jaddog.org/?p=568</guid>
		<description><![CDATA[For those of you running a rhev 3.0 cluster. I just learned of the webadmin the other day. I use my cluster for testing so I don&#8217;t have very complicated needs. Turns out you can do most of the CRUD operations on VMs via the webadmin, no IE nessesary. 1. yum install rhevm-webadmin-portal 2. service [...]]]></description>
			<content:encoded><![CDATA[<p>For those of you running a rhev 3.0 cluster. I just learned of the webadmin the other day. I use my cluster for testing so I don&#8217;t have very complicated needs. Turns out you can do most of the CRUD operations on VMs via the webadmin, no IE nessesary.</p>
<p>1. yum install rhevm-webadmin-portal<br />
2. service jbossas restart<br />
3. https://rhevm.example.com:8443/webadmin</p>
<p>To get a console, install spice-client and spice-xpi too. This will enable the console button in the webui to open a spice terminal for you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaddog.org/2012/02/15/yum-install-rhevm-webadmin-portal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MacVTap Bridge on F16</title>
		<link>http://www.jaddog.org/2012/02/01/macvtap-bridge-on-f16/</link>
		<comments>http://www.jaddog.org/2012/02/01/macvtap-bridge-on-f16/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 19:18:45 +0000</pubDate>
		<dc:creator>radez</dc:creator>
				<category><![CDATA[Planet Fedora]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.jaddog.org/?p=563</guid>
		<description><![CDATA[I setup a couple VMs over the past day or two on my desktop machine I recently built. Had to use this MacVTap thing and I really like it. To do this I used virt-manager in Fedora 16. Initially virt manager didn&#8217;t give me an option to bridge the network interfaces, it was greyed out. I wanted to [...]]]></description>
			<content:encoded><![CDATA[<p>I setup a couple VMs over the past day or two on my desktop machine I recently built. Had to use this MacVTap thing and I really like it.</p>
<p>To do this I used virt-manager in Fedora 16. Initially virt manager didn&#8217;t give me an option to bridge the network interfaces, it was greyed out. I wanted to be able to ssh into these VMs inside my home network without having to go through the virt host. Turns out there&#8217;s an option to customize settings in the details panel just before you start the installation. Select it and bring up the VM&#8217;s detail panel to take advantage of MacVTap.<a href="http://www.jaddog.org/wp-content/uploads/2012/02/Screenshot-at-2012-02-01-141040.png"><img class="alignnone  wp-image-564" title="Screenshot at 2012-02-01 14:10:40" src="http://www.jaddog.org/wp-content/uploads/2012/02/Screenshot-at-2012-02-01-141040.png" alt="" width="281" height="268" /></a></p>
<p>When the details panel comes up you can monkey with the networking of course. I selected the macvtap that my bare metal uses and set it to bridge mode.<a href="http://www.jaddog.org/wp-content/uploads/2012/02/Screenshot-at-2012-02-01-141207.png"><img class="alignnone  wp-image-565" title="Screenshot at 2012-02-01 14:12:07" src="http://www.jaddog.org/wp-content/uploads/2012/02/Screenshot-at-2012-02-01-141207.png" alt="" width="487" height="430" /></a></p>
<p>Using this method both VM&#8217;s got a dhcp address from my home router and are able to talk to each other now.</p>
<p>Word of warning, don&#8217;t use VEPA mode. It&#8217;s something special that most router&#8217;s don&#8217;t haveyet that, from what I can gather, let&#8217;s the swtich do the bridging instead of the virt host.</p>
<p>Learned about this stuff here: <a href="http://virt.kernelnewbies.org/MacVTap">http://virt.kernelnewbies.org/MacVTap</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaddog.org/2012/02/01/macvtap-bridge-on-f16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Audrey Multi-instance Deployment Demo</title>
		<link>http://www.jaddog.org/2012/01/13/audrey-multi-instance-demo/</link>
		<comments>http://www.jaddog.org/2012/01/13/audrey-multi-instance-demo/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 19:02:12 +0000</pubDate>
		<dc:creator>radez</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Just Another Day]]></category>
		<category><![CDATA[Planet Fedora]]></category>

		<guid isPermaLink="false">http://www.jaddog.org/?p=555</guid>
		<description><![CDATA[A screencast I created  has landed on youtube. It demonstrates using audrey to launch a multi-instance deployment in EC2 using the Aeolus Project. More info at https://www.aeolusproject.org/ https://www.aeolusproject.org/audrey.html]]></description>
			<content:encoded><![CDATA[<p>A screencast I created  has landed on youtube. It demonstrates using audrey to launch a multi-instance deployment in EC2 using the Aeolus Project.</p>
<p><iframe width="500" height="375" src="http://www.youtube.com/embed/mRlguptneCU?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>More info at<br />
<a title="Aeolus Project" href="https://www.aeolusproject.org/">https://www.aeolusproject.org/<br />
</a><a title="Audrey!" href="https://www.aeolusproject.org/audrey.html">https://www.aeolusproject.org/audrey.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaddog.org/2012/01/13/audrey-multi-instance-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The &#8220;check computer&#8221; light</title>
		<link>http://www.jaddog.org/2011/10/26/the-check-compute-light/</link>
		<comments>http://www.jaddog.org/2011/10/26/the-check-compute-light/#comments</comments>
		<pubDate>Wed, 26 Oct 2011 13:42:15 +0000</pubDate>
		<dc:creator>radez</dc:creator>
				<category><![CDATA[Just Another Day]]></category>

		<guid isPermaLink="false">http://www.jaddog.org/?p=552</guid>
		<description><![CDATA[On my way to work this morning my car&#8217;s check engine light came on. This is not an uncommon event, my car eats batteries and when the battery starts to fail and the car has trouble starting the light will come on. A few days later it generally clears itself. The couple times that the [...]]]></description>
			<content:encoded><![CDATA[<p>On my way to work this morning my car&#8217;s check engine light came on. This is not an uncommon event, my car eats batteries and when the battery starts to fail and the car has trouble starting the light will come on. A few days later it generally clears itself. The couple times that the light has not cleared itself I have actually had to take it in to have it looked at.</p>
<p>This morning when it came on I suggested to my carpool buddy that I wished a built in feature of cars was to tell me why the light came on. Seems ridiculous to make me take it to someone to tell me what&#8217;s wrong with my car. Imagine if we had to take our computers to someone any time there was an error message in /var/log/messages. What a pain.</p>
<p>Ha! Take that car analogies of computers! I just made a computer analogy of cars!</p>
<p>I know you can buy those readers that will tell you the error codes. Although, my car is a VW that takes a non-standard reader and is more expensive than the common ones. Ah, German engineering.</p>
<p>(For my non-linux cohorts, /var/log/messages is the system log in linux)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaddog.org/2011/10/26/the-check-compute-light/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>coverage.py</title>
		<link>http://www.jaddog.org/2011/10/25/coverage-py/</link>
		<comments>http://www.jaddog.org/2011/10/25/coverage-py/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 21:15:27 +0000</pubDate>
		<dc:creator>radez</dc:creator>
				<category><![CDATA[Just Another Day]]></category>
		<category><![CDATA[Planet Fedora]]></category>

		<guid isPermaLink="false">http://www.jaddog.org/?p=543</guid>
		<description><![CDATA[I was working on updating some unit tests today at work and was wondering if there was a way to measure the unit test coverage on a set of code. A single google search returned the ability for you to tell the exact test coverage your unit tests achieve and the exact lines of code [...]]]></description>
			<content:encoded><![CDATA[<p>I was working on updating some unit tests today at work and was wondering if there was a way to measure the unit test coverage on a set of code. A single google search returned the ability for you to tell the exact test coverage your unit tests achieve and the exact lines of code that are not included in your coverage.</p>
<p>Enter coverage.py: http://nedbatchelder.com/code/coverage/</p>
<p>I&#8217;m on fedora so <em>$ yum install python-coverage</em> installed it for me.<br />
To get the details suggested above you need only run two commands.</p>
<blockquote><p>~/git/audrey git:(oauth*)➤ coverage run audrey_start/test_audrey_startup.py<br />
&#8230;&#8230;&#8230;&#8230;&#8230;<br />
Ran 15 tests in 2.601s</p>
<p>OK</p></blockquote>
<p>The <em>coverage run</em> command executes your code just as if you had executed it without coverage.py, but has generated data about the code it&#8217;s executing as it&#8217;s running. You can see here I&#8217;ve executed this code&#8217;s unit test script. Next you display the report data:</p>
<blockquote><p>~/git/audrey git:(oauth*)➤ coverage report audrey_start/*.py<br />
Name                               Stmts   Miss  Cover<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
audrey_start/audrey_startup          472    270    43%<br />
audrey_start/test_audrey_startup     217     19    91%<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
TOTAL                                689    289    58%</p>
<p>~/git/audrey git:(oauth*)➤ coverage report -m audrey_start/*.py<br />
Name                               Stmts   Miss  Cover   Missing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
audrey_start/audrey_startup          472    270    43%   126-132, 186-216, 237, 241-243, 247, 288, 352, 379, 382, 388, 414, 456, 544, 558-559, 585-601, 609, 630, 640, 654-689, 700-730, 739, 747, 774-794, 837-847, 854-857, 907-936, 955-957, 975-1125, 1139, 1151, 1190-1195, 1203-1229, 1264-1340, 1344<br />
audrey_start/test_audrey_startup     217     19    91%   65, 130, 384, 420-428, 505-526<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
TOTAL                                689    289    58%</p></blockquote>
<p>The <em>coverage report</em> command will give you the percentages missing for each script. The <em>coverage report -m</em> command will give you the exact lines missing from the unit test coverage. I checked a few of these lines that it reported, a quick check seems to indicate these are all actual lines of code that were not executed during the unit test run. Pretty useful data for measuring the effectiveness of your unit tests.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jaddog.org/2011/10/25/coverage-py/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>



