<?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>Newest Industry &#187; cURL</title>
	<atom:link href="http://newestindustry.org/tag/curl/feed/" rel="self" type="application/rss+xml" />
	<link>http://newestindustry.org</link>
	<description>Web Performance, Branding, and Social Media</description>
	<lastBuildDate>Sat, 20 Mar 2010 18:36:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<atom:link rel='hub' href='http://newestindustry.org/?pushpress=hub'/>
<cloud domain='newestindustry.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>GrabPERF Maintenance &#8211; March 5 2009</title>
		<link>http://newestindustry.org/2009/03/05/grabperf-maintenance-march-5-2009/</link>
		<comments>http://newestindustry.org/2009/03/05/grabperf-maintenance-march-5-2009/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 17:27:36 +0000</pubDate>
		<dc:creator>smp</dc:creator>
				<category><![CDATA[GrabPERF]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[GrabPERF.org]]></category>

		<guid isPermaLink="false">http://newestindustry.org/?p=2362</guid>
		<description><![CDATA[
			
				
			
		
Today we undertook two maintenance and upgrade tasks at GrabPERF that have been neglected for too long.

The Agent code was streamlined and removed the connection error sub-routine. It seems that the latest versions of cURL no longer support the connection error determination (I can only imagine the madness of trying to support this on multiple [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F&amp;source=spierzchala&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p>Today we undertook two maintenance and upgrade tasks at <a title="GrabPERF" href="http://grabperf.org/" target="_blank">GrabPERF</a> that have been neglected for too long.</p>
<ol>
<li>The Agent code was streamlined and removed the connection error sub-routine. It seems that the latest versions of cURL no longer support the connection error determination (I can only imagine the madness of trying to support this on multiple OSs), so it has been removed as part of the error detection process. This change has been pushed out to four agents for testing and will be distributed to all other active agents after this is complete.</li>
<li>Upgrade of <a title="cURL" href="http://curl.haxx.se/" target="_blank">cURL</a> to 7.19.4 on four agents. The same four agents that have the new agent code have also had the underlying HTTP(S) engine (cURL) upgrade to 7.19.4. Although this supports no new features that I am aware of, it is always good to be on top of the latest release with bug-fixes.</li>
</ol>
<p>We are also trying to determine how to capture the URL that we connect to when we take a measurement. As far as cURL is documented, it still does not appear to support this feature.</p>



Spread the Love:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F&amp;t=GrabPERF%20Maintenance%20-%20March%205%202009" title="Facebook"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=GrabPERF%20Maintenance%20-%20March%205%202009%20-%20http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F" title="Twitter"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://ping.fm/ref/?link=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F&amp;title=GrabPERF%20Maintenance%20-%20March%205%202009&amp;body=Today%20we%20undertook%20two%20maintenance%20and%20upgrade%20tasks%20at%20GrabPERF%20that%20have%20been%20neglected%20for%20too%20long.%0D%0A%0D%0A%09The%20Agent%20code%20was%20streamlined%20and%20removed%20the%20connection%20error%20sub-routine.%20It%20seems%20that%20the%20latest%20versions%20of%20cURL%20no%20longer%20support%20the%20c" title="Ping.fm"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F&amp;title=GrabPERF%20Maintenance%20-%20March%205%202009&amp;bodytext=Today%20we%20undertook%20two%20maintenance%20and%20upgrade%20tasks%20at%20GrabPERF%20that%20have%20been%20neglected%20for%20too%20long.%0D%0A%0D%0A%09The%20Agent%20code%20was%20streamlined%20and%20removed%20the%20connection%20error%20sub-routine.%20It%20seems%20that%20the%20latest%20versions%20of%20cURL%20no%20longer%20support%20the%20c" title="Digg"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F&amp;title=GrabPERF%20Maintenance%20-%20March%205%202009" title="StumbleUpon"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F&amp;title=GrabPERF%20Maintenance%20-%20March%205%202009&amp;source=Newest+Industry+Web+Performance%2C+Branding%2C+and+Social+Media&amp;summary=Today%20we%20undertook%20two%20maintenance%20and%20upgrade%20tasks%20at%20GrabPERF%20that%20have%20been%20neglected%20for%20too%20long.%0D%0A%0D%0A%09The%20Agent%20code%20was%20streamlined%20and%20removed%20the%20connection%20error%20sub-routine.%20It%20seems%20that%20the%20latest%20versions%20of%20cURL%20no%20longer%20support%20the%20c" title="LinkedIn"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F&amp;title=GrabPERF%20Maintenance%20-%20March%205%202009" title="Reddit"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=GrabPERF%20Maintenance%20-%20March%205%202009&amp;url=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F" title="Slashdot"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.netvouz.com/action/submitBookmark?url=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F&amp;title=GrabPERF%20Maintenance%20-%20March%205%202009&amp;popup=no" title="Netvouz"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/netvouz.png" title="Netvouz" alt="Netvouz" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F" title="Identi.ca"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F" title="Technorati"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F&amp;title=GrabPERF%20Maintenance%20-%20March%205%202009&amp;notes=Today%20we%20undertook%20two%20maintenance%20and%20upgrade%20tasks%20at%20GrabPERF%20that%20have%20been%20neglected%20for%20too%20long.%0D%0A%0D%0A%09The%20Agent%20code%20was%20streamlined%20and%20removed%20the%20connection%20error%20sub-routine.%20It%20seems%20that%20the%20latest%20versions%20of%20cURL%20no%20longer%20support%20the%20c" title="del.icio.us"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=GrabPERF%20Maintenance%20-%20March%205%202009&amp;body=http%3A%2F%2Fnewestindustry.org%2F2009%2F03%2F05%2Fgrabperf-maintenance-march-5-2009%2F" title="email"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://newestindustry.org/2009/03/05/grabperf-maintenance-march-5-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Baseline Testing With cURL</title>
		<link>http://newestindustry.org/2006/10/03/baseline-testing-with-curl-2/</link>
		<comments>http://newestindustry.org/2006/10/03/baseline-testing-with-curl-2/#comments</comments>
		<pubDate>Tue, 03 Oct 2006 16:42:17 +0000</pubDate>
		<dc:creator>smp</dc:creator>
				<category><![CDATA[Web Performance]]></category>
		<category><![CDATA[WebPerformance.Org]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[compression solutions]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[cURL Installation]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[HTTP clients]]></category>
		<category><![CDATA[Internet file]]></category>
		<category><![CDATA[Internet protocols]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[proxy server]]></category>
		<category><![CDATA[retrieval tools]]></category>
		<category><![CDATA[Servers]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[Web content]]></category>
		<category><![CDATA[Web server]]></category>
		<category><![CDATA[Web servers]]></category>
		<category><![CDATA[WGET]]></category>

		<guid isPermaLink="false">http://crazycanuck.wordpress.com/2006/10/03/baseline-testing-with-curl-2/</guid>
		<description><![CDATA[
			
				
			
		

cURL is an application that can be used to retrieve any Internet file that uses the standard URL format â€” http://, ftp://, gopher://, etc. Its power and flexibility can be added to applications by using the libcurl library, whose API can be accessed easily using most of the commonly used scripting and programming languages.
So, how [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;source=spierzchala&amp;style=normal&amp;service=bit.ly" height="61" width="50" /><br />
			</a>
		</div>
<p><a title="Aviemore: Unprocessed (img_3904)" href="http://flickr.com/photos/79235216@N00/1232136224"><img style="float:left;padding:4px;" src="http://farm2.static.flickr.com/1371/1232136224_a9bd7c5157_t.jpg" alt="" /></a></p>
<p><a class="light" href="http://curl.haxx.se/">cURL</a> is an application that can be used to retrieve any Internet file that uses the standard URL format â€” http://, ftp://, gopher://, etc. Its power and flexibility can be added to applications by using the <strong>libcurl</strong> library, whose API can be accessed easily using most of the commonly used scripting and programming languages.</p>
<p>So, how does cURL differ from some of the other command-line URL retrieval tools such as <a class="light" href="http://www.gnu.org/software/wget/wget.html">WGET</a>? Both do very similar things, and can be coaxed to retrieve large lists of files or even mirror entire Web sites. In fact, for the automated retrieval of single files for the Internet for storage on local filesystems â€” such as downloading source files onto servers for building applications â€” WGET&#8217;s syntax is the simplest to use.</p>
<p>However, for simple baseline testing, WGET lacks cURL&#8217;s ability to produce timing results that can be written to an output file in a user-configurable format. cURL gathers a large amount of data about a transfer that can then be used for analysis or logging purposes. This makes it a step ahead of WGET for baseline testing.</p>
<h2>cURL Installation</h2>
<p>For the purposes of our testing, we have used <a class="light" href="http://curl.haxx.se/beta/">cURL 7.10.5-pre2</a> as it adds support for downloading and interpreting GZIP-encoded content from Web servers. Because it is a pre-release version, it is currently only available as source for compiling. The compilation was smooth, and straight-forward.</p>
<p class="marg30">
<pre>$ ./configure --with-ssl --with-zlib
$ make
$ make test

[...runs about 120 checks to ensure the application and library will work as expected..]

# make install</pre>
<p>The application installed in /usr/local/bin on my RedHat 9.0 laptop.</p>
<p>Testing cURL is straight-forward as well.</p>
<p class="marg30">
<pre>$ curl http://slashdot.org/

[...many lines of streaming HTML omitted...]</pre>
<p>Variations on this standard theme include:</p>
<p class="marg30">
<li>Send output to a file instead of STDOUT</li>
<pre>	$ curl -o ~/slashdot.txt http://slashdot.org/</pre>
<li>Request compressed content if the Web server supports it</li>
<pre>	$ curl --compressed http://slashdot.org/</pre>
<li>Provide total byte count for downloaded HTML</li>
<pre>	$ curl -w %{size_download} http://slashdot.org/</pre>
<h2>Baseline Testing with cURL</h2>
<p>With the application installed, you can now begin to design a baseline test. This methodology is <strong>NOT</strong> a replacement for true load testing, but rather a method for giving small and medium-sized businesses a sense of how well their server will perform before it is deployed into production, as well as providing a baseline for future tests. This baseline can then be used as a basis for comparing performance after configuration changes in the server environment, such as caching rule changes or adding solutions that are designed to accelerate Web performance.</p>
<p>To begin, a list of URLs needs to be drawn up and agreed to as a baseline for the testing. For my purposes, I use the files from the Linux Documentation project, intermingled with a number of images. This provides the test with a variety of file sizes and file types. You could construct your own file-set out of any combination of documents/files/images you wish. However, the file-set should be large â€” mine runs to 2134 files.</p>
<p>Once the file-set has been determined, it should be archived so that this same group can be used for future performance tests; burning it to a CD is always a safe bet.</p>
<p>Next, extract the filenames to a text file so that the configuration file for the tests can be constructed. I have done this for my tests, and have it set up in a generic format so that when I construct the configuration for the next test, I simply have to change/update the URL to reflect the new target.</p>
<p>The configuration of the rest of the parameters should be added to the configuration file at this point. These are all the same as the command line versions, except for the URL listing format.</p>
<p class="marg30">
<li>Listing of <em>test_config.txt</em></li>
<pre>-A "Mozilla/4.0 (compatible; cURL 7.10.5-pre2; Linux 2.4.20)"
-L
-w @logformat.txt
-D headers.txt
-H "Pragma: no-cache"
-H "Cache-control: no-cache"
-H "Connection: close"

url="http://www.foobar.com/1.html"
url="http://www.foobar.com/2.png"
[...file listing...]</pre>
<p>In the above example, I have set cURL to:</p>
<ul>
<li>Use a custom User-Agent string</li>
<li>Follow any re-direction responses that contain a &#8220;Location:&#8221; response header</li>
<li>Dump the server response headers to <em>headers.txt</em></li>
<li>Circumvent cached responses by sending the two main &#8220;no-cache&#8221; request headers</li>
<li>Close the TCP connection after each object is downloaded, overriding cURL&#8217;s default use of persistent connections</li>
<li>Format the timing and log output using the format that is described in <em>logformat.txt</em></li>
</ul>
<p>Another command-line option that I use a lot is <em>&#8211;compressed</em>, which, as of cURL 7.10.5, handles both the deflate and gzip encoding of Web content, including decompression on the fly. This is great for comparing the performance improvements and bandwidth savings from compression solutions against a baseline test without compression. Network administrators may also be interested in testing the improvement that they get using proxy servers and client-side caches by inserting <em>&#8211;proxy &lt;proxy[:port]&gt;</em> into the configuration, removing the &#8220;no-cache&#8221; headers, and testing a list of popular URLs through their proxy servers.</p>
<p>The <em>logformat.txt</em> file describes the variables that I find of interest and that I want to use for my analysis.</p>
<p class="marg30">
<li>Listing of <em>logformat.txt</em></li>
<pre>\n
%{url_effective}\t%{http_code}\t%{content_type}\t%{time_total}\t%{time_lookup}\t /
	%{time_connect}\t%{time_starttransfer}\t{size_download}\n
\n</pre>
<p>These variables are defined as:</p>
<li><em>url_effective</em>: URL used to make the final request, especially when following re-directions</li>
<li><em>http_code</em>: HTTP code returned by the server when delivering the final HTML page requested</li>
<li><em>content_type</em>: MIME type returned in the final HTML request</li>
<li><em>time_total</em>: Total time for the transfer to complete</li>
<li><em>time_lookup</em>: Time from start of transfer until DNS Lookup complete</li>
<li><em>time_connect</em>: Time from start of transfer until TCP connection complete</li>
<li><em>time_starttransfer</em>: Time from start of transfer until data begins to be returned from the server</li>
<li><em>size_download</em>: Total number of bytes transferred, excluding headers</li>
<p>As <em>time_connect</em> and <em>time_starttransfer</em> are cumulative from the beginning of the transfer, you have to do some math to come up with the actual values.</p>
<p class="marg30"><strong>TCP Connection Time</strong> = <em>time_connect</em> &#8211; <em>time_lookup</em><br />
<strong>Time First Byte</strong> = <em>time_starttransfer</em> &#8211; <em>time_connect</em><br />
<strong>Redirection Time</strong> = <em>time_total</em> &#8211; <em>time_starttransfer</em></p>
<p>If you are familiar with cURL, you may wonder why I have chosen not to write the output to a file using the <em>-o &lt;file&gt;</em> option. It appears that this option only records the output for the first file requested, even in a large list of files. I prefer to use the following command to start the test and then post-process the results using <em>grep</em>.</p>
<p class="marg30">
<pre>$ curl -K test_config.txt &gt;&gt; output_raw_1.txt

[...lines and lines of output...]

$ grep -i -r "^http://www.foobar.com/.*$" output_raw_1.txt &gt;&gt; output_processed_1.txt</pre>
<p>And voila! You now have a tab delimited file you can drop into your favorite spreadsheet program to generate the necessary statistics.</p>



Spread the Love:


	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;t=Baseline%20Testing%20With%20cURL" title="Facebook"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Baseline%20Testing%20With%20cURL%20-%20http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F" title="Twitter"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://ping.fm/ref/?link=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL&amp;body=%0D%0A%0D%0AcURL%20is%20an%20application%20that%20can%20be%20used%20to%20retrieve%20any%20Internet%20file%20that%20uses%20the%20standard%20URL%20format%20%C3%A2%E2%82%AC%E2%80%9D%20http%3A%2F%2F%2C%20ftp%3A%2F%2F%2C%20gopher%3A%2F%2F%2C%20etc.%20Its%20power%20and%20flexibility%20can%20be%20added%20to%20applications%20by%20using%20the%20libcurl%20library%2C%20whose%20API%20can%20b" title="Ping.fm"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL&amp;bodytext=%0D%0A%0D%0AcURL%20is%20an%20application%20that%20can%20be%20used%20to%20retrieve%20any%20Internet%20file%20that%20uses%20the%20standard%20URL%20format%20%C3%A2%E2%82%AC%E2%80%9D%20http%3A%2F%2F%2C%20ftp%3A%2F%2F%2C%20gopher%3A%2F%2F%2C%20etc.%20Its%20power%20and%20flexibility%20can%20be%20added%20to%20applications%20by%20using%20the%20libcurl%20library%2C%20whose%20API%20can%20b" title="Digg"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL" title="StumbleUpon"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/stumbleupon.png" title="StumbleUpon" alt="StumbleUpon" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL&amp;source=Newest+Industry+Web+Performance%2C+Branding%2C+and+Social+Media&amp;summary=%0D%0A%0D%0AcURL%20is%20an%20application%20that%20can%20be%20used%20to%20retrieve%20any%20Internet%20file%20that%20uses%20the%20standard%20URL%20format%20%C3%A2%E2%82%AC%E2%80%9D%20http%3A%2F%2F%2C%20ftp%3A%2F%2F%2C%20gopher%3A%2F%2F%2C%20etc.%20Its%20power%20and%20flexibility%20can%20be%20added%20to%20applications%20by%20using%20the%20libcurl%20library%2C%20whose%20API%20can%20b" title="LinkedIn"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://reddit.com/submit?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL" title="Reddit"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Baseline%20Testing%20With%20cURL&amp;url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F" title="Slashdot"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.netvouz.com/action/submitBookmark?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL&amp;popup=no" title="Netvouz"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/netvouz.png" title="Netvouz" alt="Netvouz" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://identi.ca/notice/new?status_textarea=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F" title="Identi.ca"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/identica.png" title="Identi.ca" alt="Identi.ca" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://technorati.com/faves?add=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F" title="Technorati"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F&amp;title=Baseline%20Testing%20With%20cURL&amp;notes=%0D%0A%0D%0AcURL%20is%20an%20application%20that%20can%20be%20used%20to%20retrieve%20any%20Internet%20file%20that%20uses%20the%20standard%20URL%20format%20%C3%A2%E2%82%AC%E2%80%9D%20http%3A%2F%2F%2C%20ftp%3A%2F%2F%2C%20gopher%3A%2F%2F%2C%20etc.%20Its%20power%20and%20flexibility%20can%20be%20added%20to%20applications%20by%20using%20the%20libcurl%20library%2C%20whose%20API%20can%20b" title="del.icio.us"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  target="_blank" href="mailto:?subject=Baseline%20Testing%20With%20cURL&amp;body=http%3A%2F%2Fnewestindustry.org%2F2006%2F10%2F03%2Fbaseline-testing-with-curl-2%2F" title="email"><img src="http://newestindustry.org/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://newestindustry.org/2006/10/03/baseline-testing-with-curl-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
