<?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>JEB&#039;s Blog &#187; Linux</title>
	<atom:link href="http://blog.james.rcpt.to/category/computing/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.james.rcpt.to</link>
	<description>Scribblings of a Techie</description>
	<lastBuildDate>Fri, 01 Feb 2013 12:42:22 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>LCA 2013</title>
		<link>http://blog.james.rcpt.to/2013/02/01/lca-2013/</link>
		<comments>http://blog.james.rcpt.to/2013/02/01/lca-2013/#comments</comments>
		<pubDate>Fri, 01 Feb 2013 12:42:22 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Canberra]]></category>
		<category><![CDATA[LCA]]></category>
		<category><![CDATA[Linux.conf.au]]></category>

		<guid isPermaLink="false">http://blog.james.rcpt.to/?p=532</guid>
		<description><![CDATA[Thanks to all the people at LCA2013 in Canberra; it was a blast! So good to see old friends and chat freely on what&#8217;s hot and happening. Radia (known for STP, TRILL), Sir Tim (the web) and old friend Bdale (Debian, SPI, Freedom Box) were inspiring. As was Robert Llewellyn (Kryten, Red Dwarf), who was [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_533" class="wp-caption alignright" style="width: 310px"><a href="http://blog.james.rcpt.to/wp-uploads/2013/02/linux-conf-au-organisers-2003-2013-at-LCA2013.jpg"><img class="size-medium wp-image-533 " title="linux.conf.au past organisers" src="http://blog.james.rcpt.to/wp-uploads/2013/02/linux-conf-au-organisers-2003-2013-at-LCA2013-300x200.jpg" alt="LCA Past Organisers" width="300" height="200" /></a><p class="wp-caption-text">Previous core organisers of Linux.conf.au, taken at Mt Stromolo Observatory during LCA 2013 (pic by Josh Stewart); except one of these people organised CALU, and another hasn&#8217;t organised one at all!</p></div>
<p>Thanks to all the people at LCA2013 in Canberra; it was a blast! So good to see old friends and chat freely on what&#8217;s hot and happening. Radia (known for STP, TRILL), Sir Tim (the web) and old friend Bdale (Debian, SPI, Freedom Box) were inspiring. As was Robert Llewellyn (Kryten, Red Dwarf), who was a complete pleasure &#8212; he wandered back and talked for a while with the volunteer video crew.</p>
<p>Hats off to Pia for organising the TBL tour, to Mary Gardner for being awarded the Rusty Wrench, and to the team from PLUG (Euan, Jason, Leon, Luke) who stepped up to help with the video team &#8211; and to Paul who graciously accepted the help.</p>
<p>Next up &#8211; LCA2014 &#8211; Perth! Y&#8217;all come back now.. it&#8217;s been a decade.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.james.rcpt.to/2013/02/01/lca-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Official Debian Images on Amazon Web Services EC2</title>
		<link>http://blog.james.rcpt.to/2012/12/06/official-debian-images-on-amazon-web-services-ec2/</link>
		<comments>http://blog.james.rcpt.to/2012/12/06/official-debian-images-on-amazon-web-services-ec2/#comments</comments>
		<pubDate>Thu, 06 Dec 2012 01:47:35 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[EC2]]></category>

		<guid isPermaLink="false">http://blog.james.rcpt.to/?p=517</guid>
		<description><![CDATA[Official Debian AMIs are now on Amazon web Services]]></description>
				<content:encoded><![CDATA[<blockquote><p><em><strong>Please Note</strong>: this article is written from my personal perspective as a Debian Developer, and is not the opinion or expression of my employer.</em></p></blockquote>
<p><a href="http://aws.amazon.com/" target="_blank">Amazon Web Service</a>&#8216;s EC2 offers customers a number of Operating Systems to run. There are many Linux Distributions available, however for all this time, there has never been an &#8216;Official&#8217; <a href="http://www.debian.org/" target="_blank">Debian</a> Image &#8211; or Amazon Machine Image (AMI), created by Debian.</p>
<p>For some Debian users this has not been an issue as there are several solutions of creating your own personal AMI. However for the AWS Users who wanted to run a recognised image, it has been a little confusing at times; several Debian AIMs have been made available by other customers, but the source of those images has not been &#8216;Debian&#8217;.</p>
<p>In October 2012 the AWS Marketplace engaged in discussions with the Debian Project Leader, Stefano Zacchiroli. A group of Debian Developers and the wider community formed to generated a set of AMIs using Anders Ingemann&#8217;s ec2debian-build-ami script. These AMIs are published in the AWS Marketplace, and you can find the listing here:</p>
<ul>
<li><a href="https://aws.amazon.com/marketplace/pp/ref=csl_clsc_prd?sku=8fvdn95s5ev33cprr62nq3q7t" target="_blank">https://aws.amazon.com/marketplace/pp/ref=csl_clsc_prd?sku=8fvdn95s5ev33cprr62nq3q7t</a></li>
</ul>
<p>No fees are collected for Debian for the use of these images via the AWS Marketplace; they are listed here for your convenience. This is the same AMI that you may generate yourself, but this one has been put together by Debian Developers.</p>
<p>If you plan to use this AMI, I suggest you read <a href="http://wiki.debian.org/Cloud/AmazonEC2Image" target="_blank">http://wiki.debian.org/Cloud/AmazonEC2Image</a>, and more explicity, <strong>SSH as the user &#8216;<em>admin</em>&#8216;</strong> and then &#8216;<em>sudo -i</em>&#8216; to root.</p>
<h2>Additional details</h2>
<p>Anders Ingemann and others maintain a GitHub project called <a href="https://github.com/andsens/ec2debian-build-ami" target="_blank">ec2debian-build-ami</a> which generates a Debian AMI. This script supports several desired features, an was also updated to add in some new requirements. This means the generated image supports:</p>
<ul>
<li>non-root SSH (<strong>use the user &#8216;<em>admin</em>&#8216;</strong>)</li>
<li>secure deletion of files in the generation of the image</li>
<li>using the Eucalyptus toolchain for generation of th eimage</li>
<li>ensuring that this script and all its dependencies are DFSG compliant</li>
<li>using the <em>http.debian.net</em> redirector service in APT&#8217;s sources.list to select a reasonably &#8216;close&#8217; mirror site</li>
<li>and the generated image contains only packages from &#8216;main&#8217;</li>
<li>plus minimal additional scripts (nuder the Apache 2.0 license as in ec2debian-build-ami) to support:
<ul>
<li>fetching the SSH Public Key for the &#8216;admin&#8217; user (<strong>sudo -i</strong> to gain root)</li>
<li>executing <em>UserData</em> shell scripts (<a href="http://wiki.debian.org/Cloud/AmazonEC2Image/Squeeze#UserDataExamples" target="_blank">example here</a>)</li>
</ul>
</li>
</ul>
<p>Debian Stable (Squeeze; 6.0.6 at this point in time) does not contain the cloud-init package, and neither does Debian Testing (Wheezy).</p>
<p>A fresh AWS account (ID 379101102735) was used for the initial generation of this image. Any Debian Developer who would like access is welcome to contact me. Minimal charges for the resource utilisation of this account (storage, some EC2 instances for testing) are being absorbed by Amazon for this. Co-ordination of this effort is held on the debian-cloud mailing list.</p>
<p>The current Debian stable is 6.0.6 &#8216;<em>Squeeze</em>&#8216;, and we&#8217;re in deep freeze for the &#8216;<em>Wheezy</em>&#8216; release. Squeeze has a Xen kernel that works on the Parallel Virtual Machine (PVM) EC2 instance, and hence this is what we support on EC2. (HVM images are a next phase, being headed up by Yasuhiro Akarki &lt;ar@d.o&gt;).</p>
<h2>Marketplace Listing</h2>
<p>The process of listing in the AWS Marketplace was conducted as follows:</p>
<ul>
<li>A 32 bit and 64 bit image was generated in US-East 1, which was AMI IDs:
<ul>
<li>ami-1977f070: 379101102735/debian-squeeze-i386-20121119</li>
<li>ami-8568efec: 379101102735/debian-squeeze-amd64-20121119</li>
</ul>
</li>
<li>The image was shared &#8216;public&#8217; with all other AWS users (as was the underlying EBS snapshot, for completeness)</li>
<li>The AWS Marketplace team duplicated these two AMIs into their AWS account</li>
<li>The AWS Marketplace team further duplicated these into other AWS Marketplace-supported Regions</li>
</ul>
<p>This image went out on the 19th of November 2012. Additional documentation was put into the Wiki at: <a href="http://wiki.debian.org/Cloud/AmazonEC2Image/Squeeze" target="_blank">http://wiki.debian.org/Cloud/AmazonEC2Image/Squeeze</a></p>
<p>A CloudFormation template may help you launch a Debian instance by containing a mapping to the relevent AMI in the region you&#8217;re using: see the wiki link above.</p>
<h2>What&#8217;s Next</h2>
<p>The goal is to continue stable releases as they come out. Further work is happening to support generation of <em>Wheezy</em> images, and HVM (which may all collapse into one effort with a Linux 3.x kernel in <em>Wheezy</em>). If you&#8217;re a Debian Developer and would like a login to the AWS account we&#8217;ve been using, then please drop <a href="mailto:jeb_AT_debian.org">me</a> a line.</p>
<p>Further work to improve this process has come from Marcin Kulisz, who is starting to package <em>ec2debian-build-ami</em> into a Debian: this will complete the circle of the entire stack being in main (one day)!</p>
<p>Thanks goes to Stefano, Anders, Charles, and everyone who  contributed to this effort.</p>
<h2>Resources</h2>
<ul>
<li><a href="https://github.com/andsens/ec2debian-build-ami">https://github.com/andsens/ec2debian-build-ami</a><a href="http://blog.james.rcpt.to/wp-uploads/2012/12/openlogo-100.png"><img class="alignright size-full wp-image-518" title="Debian openlogo-100" src="http://blog.james.rcpt.to/wp-uploads/2012/12/openlogo-100.png" alt="Debian GNU/Linux" width="100" height="123" /></a></li>
<li><a href="https://aws.amazon.com/marketplace/pp/ref=csl_clsc_prd?sku=8fvdn95s5ev33cprr62nq3q7t">https://aws.amazon.com/marketplace/pp/ref=csl_clsc_prd?sku=8fvdn95s5ev33cprr62nq3q7t</a></li>
<li><a href="http://wiki.debian.org/Cloud/AmazonEC2Image">http://wiki.debian.org/Cloud/AmazonEC2Image</a></li>
<li><a href="http://lists.debian.org/debian-cloud/">http://lists.debian.org/debian-cloud/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.james.rcpt.to/2012/12/06/official-debian-images-on-amazon-web-services-ec2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Courier IMAP and FAM</title>
		<link>http://blog.james.rcpt.to/2012/05/08/courier-imap-and-fam/</link>
		<comments>http://blog.james.rcpt.to/2012/05/08/courier-imap-and-fam/#comments</comments>
		<pubDate>Tue, 08 May 2012 10:12:04 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.james.rcpt.to/?p=506</guid>
		<description><![CDATA[Last Friday, while tracking Debian Testing, the courier package was updated, and while authentication could be seen to be successful, actually using IMAP seemed to fail. Turns out the FAM package was somehow to blame; installing fam and libfam0 was the solution. This uninstalled gamin for me. So if you&#8217;re pulling your hair out with [...]]]></description>
				<content:encoded><![CDATA[<p>Last Friday, while tracking Debian Testing, the courier package was updated, and while authentication could be seen to be successful, actually using IMAP seemed to fail.</p>
<p>Turns out the FAM package was somehow to blame; installing <strong>fam</strong> and <strong>libfam0</strong> was the solution. This uninstalled <strong>gamin</strong> for me. So if you&#8217;re pulling your hair out with a similar courier/imap issue, then perhaps have a look at the courier-imap <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=courier-imap">mailing list</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.james.rcpt.to/2012/05/08/courier-imap-and-fam/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Goodbye Linux.2.6.x</title>
		<link>http://blog.james.rcpt.to/2012/04/04/goodbye-linux-2-6-x/</link>
		<comments>http://blog.james.rcpt.to/2012/04/04/goodbye-linux-2-6-x/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 03:09:57 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.james.rcpt.to/?p=500</guid>
		<description><![CDATA[It&#8217;s taken some time, but now none of my personal Linux hosts (4 in total) are running the 2.6 kernel any more. From the start (January) my company web host on Amazon EC2 has been running a 3.x kernel. My little Acer Aspire Revo low power home server, with attached disk pack that sits in [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s taken some time, but now none of my personal Linux hosts (4 in total) are running the 2.6 kernel any more.</p>
<p>From the start (January) my company web host on Amazon EC2 has been running a 3.x kernel. My little Acer Aspire Revo low power home server, with attached disk pack that sits in my shed in a network cabinet has run 3.x for the last 6 months or so. My Linux laptop (Dell Studio 1558) which only recently got installed (and, since removing Windows, hasn&#8217;t overheated once!) went to 3.x immediately. And the last piece of the puzzel is a virtual machine I&#8217;ve had for many years with Bytemark.co.uk &#8211; they&#8217;re now offering a 3.2 kernel in their menu of selectable kernels.</p>
<p>Not that 3.x is that much different than 2.6.3x; but its a line in the sand of feature and security thats easy to identify. But with nearly 15 years of looking at a 2.x kernel, its about time we moved to 3.x!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.james.rcpt.to/2012/04/04/goodbye-linux-2-6-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hurricane Electric IPv6 tunnel MTU</title>
		<link>http://blog.james.rcpt.to/2012/02/23/hurricane-electric-ipv6-tunnel-mtu/</link>
		<comments>http://blog.james.rcpt.to/2012/02/23/hurricane-electric-ipv6-tunnel-mtu/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 04:22:03 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://blog.james.rcpt.to/?p=460</guid>
		<description><![CDATA[I&#8217;ve been running an IPv6 tunnel for a long time, but occasionally I&#8217;ve been seeing traffic hang on it. It looks like it was the MTU, defaulting at 1500 bytes, causing issues when large amounts of data were being shuffled OUT from my Linux box, back to the &#8216;net&#8217;. The fix is easy: /etc/network/interfaces should [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been running an IPv6 tunnel for a long time, but occasionally I&#8217;ve been seeing traffic hang on it. It looks like it was the MTU, defaulting at 1500 bytes, causing issues when large amounts of data were being shuffled OUT from my Linux box, back to the &#8216;net&#8217;.</p>
<p>The fix is easy: <code>/etc/network/interfaces</code> should have an &#8220;up&#8221; line for the interface definition saying:<code> up ip link set mtu 1280 dev henet</code>, where <em>henet</em> is the name of your tunnel interface.</p>
<p>Easy enough to skip this line if your tunnel appears to be working OK, but <em>interesting</em> to track down.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.james.rcpt.to/2012/02/23/hurricane-electric-ipv6-tunnel-mtu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debian Wheezy: US$19 Billion. Your price&#8230; FREE!</title>
		<link>http://blog.james.rcpt.to/2012/02/13/debian-wheezy-us19-billion-your-price-free/</link>
		<comments>http://blog.james.rcpt.to/2012/02/13/debian-wheezy-us19-billion-your-price-free/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 06:27:50 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.james.rcpt.to/?p=446</guid>
		<description><![CDATA[As many would know, Debian GNU/Linux is one of the oldest, and the largest Linux distributions that is available for free. Since it was first released in 1993, several people have analysed the size and produced cost estimates for the project. In 2001, Jesús M. González-Barahona et al produced an article entitled &#8220;Counting Potatoes&#8220;, an [...]]]></description>
				<content:encoded><![CDATA[<p>As many would know, <a href="http://www.debian.org/" target="_blank">Debian GNU/Linux</a> is one of the oldest, and the largest Linux distributions that is available for free. Since it was first released in 1993, several people have analysed the size and produced cost estimates for the project.</p>
<p>In 2001, Jesús M. González-Barahona et al produced an article entitled &#8220;<a href="http://web.archive.org/web/20080503001817/http://people.debian.org/~jgb/debian-counting/counting-potatoes/" target="_blank">Counting Potatoes</a>&#8220;, an analysis of Debian 2.2 (code named <em>Potato</em>). When Potato was released in June 2003, it contained 2,800 source packages of software, totalling around <strong>55 million lines of source code</strong>. When using David A. Wheeler&#8217;s <a href="http://www.dwheeler.com/sloccount/" target="_blank">sloccount</a> tool to apply the <a href="http://en.wikipedia.org/wiki/COCOMO" target="_blank">COCOMO </a>model of development, and an average developer salary of US$56,000, the projected development cost that González-Barahona calculated to start-from-scratch and build Debian 2.2 in 2003 <strong>was US$1.9 billion</strong>.</p>
<p>In 2007 an analysis entitled &#8216;<a href="http://www.springerlink.com/content/c516h8t6l16251l5/">Macro-level software evolution: a case study of a large software compilation</a>&#8216; by Jesús M. González-Barahona, Gregorio Robles, Martin Michlmayr, Juan José Amor and Daniel M. German was released. It found that Debian 4.0 (codename <em>Etch</em> released April 2007) had just over 10,000 source packages of software and <strong>288 million lines of source code</strong>. This analysis also delved into the dependencies of software packages, and the update flow between Debian release (not all packages are updated with each release).</p>
<p>Today (February 2012) the current development version of Debian, codenamed Wheezy, contains some 17,141 source packages of software, but as it&#8217;s still in development this number may change over the coming months.</p>
<p>I analysied the source code in Wheezy, looking at the content from the &#8220;original&#8221; software that Debian distributes from its upstream authors without including the additional patches that Debian Developers apply to this software, or the package management scripts (used to install, configure and de-install packages). One might argue that these patches and configuration scripts are the added value of Debian, however the in my analysis I only examined the &#8216;pristine&#8217; upstream source code.</p>
<p>By using David A Wheeler&#8217;s sloccount tool and average wage of a developer of US$72,533 (using median estimates from Salary.com and PayScale.com for 2011) I summed the individual results to find a total of <strong>419,776,604</strong> source lines of code for the &#8216;pristine&#8217; upstream sources, in 31 programming languages — including 429 lines of Cobol and 1933 lines of Modula3!</p>
<p>In my analysis the projected cost of producing <strong>Debian Wheezy in February 2012 is US$19,070,177,727 (AU$17.7B, EUR€14.4B, GBP£12.11B)</strong>, making each package&#8217;s upstream source code wrth an average of <strong>US$1,112,547.56 (AU$837K)</strong> to produce. Impressively, this is all free (of <em>cost</em>).</p>
<h2>Zooming in on the Linux &#8220;Kernel&#8221;</h2>
<p>In 2004 David A. Wheeler did a <a href="http://www.dwheeler.com/essays/linux-kernel-cost.html" target="_blank">cost analysis of the Linux Kernel</a> project by itself. He found 4,000,000 source lines of code (<strong><em>SLOC</em></strong>), and a projected cost between <strong>US$175M and US$611M</strong> depending on the complexity rating of the software. Within my analysis above, I used the &#8216;standard&#8217; (default) complexity with the adjusted salary for 2011 (US$72K), and deducted that Kernel version 3.1.8 with almost 10,000,000 lines of source code would be worth US$540M at standard complexity, or US$1,877M when rated as &#8216;complex&#8217;.</p>
<p>Another <a href="http://linuxcost.blogspot.com.au/2011/03/cost-of-linux.html">Kernel Costing</a> in 2011 put this figure at US$3 billion, so perhaps there&#8217;s some more variance in here to play with.</p>
<h2>Individual Projects</h2>
<p>Other highlights by project included:</p>
<table style="text-align: center;">
<tbody>
<tr>
<th style="text-align: center;">Project</th>
<th style="text-align: center;">Version</th>
<th style="text-align: center;">Thousands<br />
of <abbr title="Source Lines of Code">SLOC</abbr></th>
<th style="text-align: center;">Projected cost<br />
at US$72,533/developer/year</th>
</tr>
<tr>
<td>Samba</td>
<td>3.6.1</td>
<td style="text-align: center;">2,000</td>
<td style="text-align: center; color: green;">US$101 (AU$93M)</td>
</tr>
<tr>
<td>Apache</td>
<td>2.2.9</td>
<td style="text-align: center;">693</td>
<td style="text-align: center; color: green;">US$33.5M (AU$31M)</td>
</tr>
<tr>
<td>MySQL</td>
<td>5.5.17</td>
<td style="text-align: center;">1,200</td>
<td style="text-align: center; color: green;">US$64.2M (AU$59.7M)</td>
</tr>
<tr>
<td>Perl</td>
<td>5.14.2</td>
<td style="text-align: center;">669</td>
<td style="text-align: center; color: green;">US$32.3M (AU$30M)</td>
</tr>
<tr>
<td>PHP</td>
<td>5.3.9</td>
<td style="text-align: center;">693</td>
<td style="text-align: center; color: green;">US$33.5M (AU$31.1M)</td>
</tr>
<tr>
<td>Bind</td>
<td>9.7.3</td>
<td style="text-align: center;">319</td>
<td style="text-align: center; color: green;">US$14.8M (AU$13.8M)</td>
</tr>
<tr>
<td>Moodle</td>
<td>1.9.9</td>
<td style="text-align: center;">396</td>
<td style="text-align: center; color: green;">US$18.6M (AU$17.3M)</td>
</tr>
<tr>
<td>Dasher</td>
<td>4.11</td>
<td style="text-align: center;">109</td>
<td style="text-align: center; color: green;">US$4.8M (AU$4.4M)</td>
</tr>
<tr>
<td>DVSwitch</td>
<td>0.8.3.6</td>
<td style="text-align: center;">6</td>
<td style="text-align: center; color: green;">US$250K (AU$232K)</td>
</tr>
</tbody>
</table>
<h2>Debian Wheezy by Programming Language</h2>
<p>The upstream code that Debian distributes is written in many different languages. ANSI C with 168,536,758 is the dominant language (40% of all lines), followed by C++ at 83,187,329 (20%) and Java with 34,698,990 (8%).</p>
<div id="attachment_447" class="wp-caption aligncenter" style="width: 740px"><a href="http://blog.james.rcpt.to/wp-uploads/2012/02/Languages-of-Debian-Wheezy-2012-02-09.jpg"><img class="size-full wp-image-447" title="Languages of Debian Wheezy" src="http://blog.james.rcpt.to/wp-uploads/2012/02/Languages-of-Debian-Wheezy-2012-02-09.jpg" alt="Line chart" width="730" height="490" /></a><p class="wp-caption-text">Break down of Wheezy by Language</p></div>
<p>If you are intersted in finding the line count and cost projections for any of the 17,000+ projects, you will find them in the <a href="http://www.james.rcpt.to/2012/Counting-Debian/Debian-Wheezy-20120209-SLOC-Cost.csv.gz">raw data CSV</a>.</p>
<h2>Other Tools and Comparisons</h2>
<p>Ohcount is another source code cost analysis tool. In March 2011 Ohcount was run across Debian Sid: <a href="http://qa.debian.org/daca/ohcount/sid/">its results are here</a>. In comparison, its results  appear much lower than the sloccount tool. There&#8217;s also the <a href="http://www.ohloh.net/p/debian/estimated_cost">Ohloh.net Debian Estimate</a> which only finds 55 Million source lines of code and a projected cost of US$1B. However Ohloh uses Ohcount for its estimates, and seems to be to be around 370 million SLOC missing compared to my recent analysis.</p>
<h2>Summary</h2>
<p>Over the last 10 years the cost to develop Debian has increased ten-fold. It&#8217;s intersting to know that US$19 billion of software is available to use, review, extend, and share, for the bargain price of <strong>$0</strong>. If we were to add in Debian patches and install scripts then this projected figure would increase. If only more organisations would realise the potential they have before them.</p>
<p><strong>Need help with Linux (including Debian), Perl, or AWS? See <a href="http://www.jamesbromberger.com/">www.jamesbromberger.com</a>.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.james.rcpt.to/2012/02/13/debian-wheezy-us19-billion-your-price-free/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Load Balancing on Amazon Web Services</title>
		<link>http://blog.james.rcpt.to/2011/12/20/load-balancing-on-amazon-web-services/</link>
		<comments>http://blog.james.rcpt.to/2011/12/20/load-balancing-on-amazon-web-services/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 07:26:56 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.james.rcpt.to/?p=441</guid>
		<description><![CDATA[I&#8217;ve been using Amazon&#8217;s Elastic Load Balancing (ELB) service for about a year now, and thought I should pen some of the things I&#8217;ve had to do to make it work nicely. Firstly, when using HTTP with Apache, you probably want to add a new log format that, instead of using the Source IP address [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been using Amazon&#8217;s <em>Elastic Load Balancing</em> (ELB) service for about a year now, and thought I should pen some of the things I&#8217;ve had to do to make it work nicely.</p>
<p>Firstly, when using HTTP with Apache, you probably want to add a new log format that, instead of using the Source IP address of the connection int he first field, you use the extra header that ELB adds, <code>X-Forwarded-For</code>. It&#8217;s very simple, something like:</p>
<blockquote><p><code>LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-Agent}i\"" fwd_combined</code></p></blockquote>
<p>&#8230; and then wherever you&#8217;ve been using a Log statement with format &#8220;common&#8221;, just use &#8220;fwd_common&#8221;. Next, if you&#8217;re trying to use your domain name as your web server, eg &#8220;example.com&#8221; instead (or as well) as &#8220;www.example.com&#8221;, then with Amazon Route53 (DNS hosting) you&#8217;ll get a message about a conflict witht he &#8220;apex&#8221; of the domain. You get around this using the <code>elb-associate-route53-hosted-zone</code> command line tool, with something like:</p>
<blockquote><p><code>./elb-associate-route53-hosted-zone ELB-Web --region ap-southeast-1 --hosted-zone-id Z3S76ABCFYXRX6 --rr-name example.com --weight 100</code></p></blockquote>
<p>And if you want to also use IPv6:</p>
<blockquote><p><code>./elb-associate-route53-hosted-zone ELB-Web --region ap-southeast-1 --hosted-zone-id Z3S76ABCFYXRX6 --rr-name example.com --weight 100 --rr-type AAAA</code></p></blockquote>
<p>If you&#8217;re using HTTPS, then you may have an issue if you chose to pass your SSL traffic through the ELB (just as a generic TCP stream). Since the content is encrypted, the ELB cannot modify the request header to add the X-Forwarded-For. Your only option is to &#8220;terminate&#8221; the incoming HTTPS connection on the ELB, and then having it establish a new connection to the back end instance (web server). You will need to load your certificate and key into the ELB for it to correctly represent itself as the target server. This will be an overhead on the load balancer having to decrypt (and option re-encrypt to the back end), so be aware of the costs.</p>
<p>One of the nice things about having the ELB in place, even for a single instance web site, is that it will do health checks and push the results to CloudWatch. CloudWatch will give you pretty graphs, but also permit you to set Alerts, which may be pushed to the Amazon Notification Service &#8211; which in turn can send you an email, or call a URL to trigger some other action that you configure (send SMS, or sound a klaxon?).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.james.rcpt.to/2011/12/20/load-balancing-on-amazon-web-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon Linux, EC2, S3, Perl, SSL Wildcard Certificates</title>
		<link>http://blog.james.rcpt.to/2011/11/08/amazon-linux-ec2-s3-perl-ssl-wildcard-certificates/</link>
		<comments>http://blog.james.rcpt.to/2011/11/08/amazon-linux-ec2-s3-perl-ssl-wildcard-certificates/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 06:20:56 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">http://blog.james.rcpt.to/?p=436</guid>
		<description><![CDATA[Amazon Linux, one of the distributions that is recommended for Amazon EC2 customers, recently had an update &#8212; 11.09. In this there was an update to a whole raft of libraries, including the Perl LWP (libwww) library in perl-libwww-perl-5.837 (previously 5.8.33), and other related modules. One of the changes that happened is a change of [...]]]></description>
				<content:encoded><![CDATA[<p><em>Amazon Linux</em>, one of the distributions that is recommended for Amazon EC2 customers, recently had an update &#8212; 11.09. In this there was an update to a whole raft of libraries, including the Perl LWP (<em>libwww</em>) library in perl-libwww-perl-5.837 (previously 5.8.33), and other related modules.</p>
<p>One of the changes that happened is a change of the default for &#8220;verify hostname&#8221; in the SSL protocol when using LWP::UserAgent; previously verification of the certificate to the hostname given was default disabled, and in an effort to improve security, this was turned on. You&#8217;ll see this mentioned in LWP::UserAgent documentation &#8220;The no checks behaviour was the default for libwww-perl-5.837 and earlier releases&#8221;. What&#8217;s unusual is the no-checks behaviour change is DIFFERENT in Amazon Linux&#8217;s package of 5.8.37 compared to this statement &#8211; I suspect this one line got back ported into 5.8.37 to change this default &#8216;in the interst of security&#8217;.</p>
<p>Unfortunately, this breaks a lot of scripts and other modules/libraries out there, one of which is the Amazon-issued S3 libary. S3 is the Amazon <em>Simple Storage Service</em> (SSS =&gt; S3), with which a user (customer) has their data arranged in &#8220;buckets&#8221;, with data in objects identified by &#8216;keys&#8217; (like a file name). All data is put to, and read from the S3 service over HTTPS &#8211; it&#8217;s not locally mounted (though some cleaver fuse stuff may make that look possible &#8211; but it is still over HTTPS.</p>
<p>A bucket in S3 has a <em>name</em>, and for the example I have, the name looks like a domain name (<em>images.foo.com</em>). When accessing this bucket, the Amazon S3 Perl library connects to an alias hostname (CNAME) made up combining the bucket name above with &#8220;<strong>s3.amazonaws.com</strong>&#8220;, so our example here becomes &#8220;<strong>images.foo.com.s3.amazonaws.com</strong>&#8220;. This site is using a wildcard certificate for &#8220;<strong>*.s3.amazonaws.com</strong>&#8221; (you can see it as an Alternate Subject Name extension in the SSL certificate). This permits the certificate to be considered as valid for any hostname directly under the <strong>s3.amazonaws.com</strong> domain. However, subject to RFC 2818, the only thing permitted before &#8220;<strong>s3.amazonaws.com</strong>&#8221; is a single name &#8211; not a (seemingly valid) dotted domain name. So &#8220;<strong>com.s3.amazonaws.com</strong>&#8221; is OK with a wildcard certificate, but &#8220;<strong>images.foo.com.amazonaws.com</strong>&#8221; is not.</p>
<p>There are several solutions. The easiest is to turn off SSL certificate verification again in your script. A handy ENV environment variable may be set to do this: <strong>$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}=0</strong>. Alternatively, if you are using LWP directly, you can pass an initalisation parameter to LWP of <strong>ssl_options =&gt; { verify_hostname =&gt; 0}</strong>. Both effectively abandon any certificate verification.</p>
<p>Somewhat more complicated, you can define a custom validation callback (procedure) to further determine if the certificate is valid. This is in contravention to <a href="http://www.ietf.org/rfc/rfc2818.txt">RFC 2818</a>, and seems like a lot more hassle to work around.</p>
<p>Perhaps the easiest solution here is to avoid using period/dot/&#8217;.&#8217; in Bucket Names in S3, thereby removing the conflict between the strict checking.</p>
<p>The most important thing is how lax we have been at verifying SSL certificates, and have come to rely on that just working. It is good to verify the SSL certificate matches the host in scripts: I don&#8217;t want to start communicating authentication information over an SSL channel if we can easily see we&#8217;ve been duped on the remote end. I was not familiar with wildcard certificates only being valid for one component of a domain name; this kind of reduces their effectiveness in my mind in some sense.They&#8217;ve always been more expensive than standard certificates, but being better aware of the FQDNs they will validate on is useful.</p>
<p>I&#8217;ve seen several other instances outside of this S3 example where invalid certificates have blindly been accepted by scripts (a CloudWatch example I saw with a redirect &#8216;hop&#8217; through an SSL site); this default change from lax to legitimate certificates may actually encourage better adoption of the security that SSL can give &#8212; when we&#8217;re already paying for SSL certs &#8212; or lead us (as developers and architects) to acknowledge when we&#8217;re actively ignoring that layer of protection.</p>
<p>It&#8217;s early days now but as this default change filters into Linux distributions (and Perl distributions on other platforms) then we&#8217;ll start to see a lot of FAQs on this.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.james.rcpt.to/2011/11/08/amazon-linux-ec2-s3-perl-ssl-wildcard-certificates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rusty&#8217;s talk at PLUG</title>
		<link>http://blog.james.rcpt.to/2011/10/14/rustys-talk-at-plug/</link>
		<comments>http://blog.james.rcpt.to/2011/10/14/rustys-talk-at-plug/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 13:47:02 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.james.rcpt.to/?p=430</guid>
		<description><![CDATA[What a week for PLUG. After months of organisation, we were honoured by Rusty Russell flying to Perth for PLUG. He presented a talk entitled &#8220;Coding: lets have fun&#8220;, which showed the simplicity and beauty of a regular expression engine in around 20 lines of C, to a wireframe Flight Sim from a recent IOCCC [...]]]></description>
				<content:encoded><![CDATA[<p>What a week for <a href="http://www.plug.org.au/">PLUG</a>. After months of organisation, we were honoured by <strong>Rusty Russell</strong> flying to Perth for PLUG. He presented a talk entitled &#8220;<em>Coding: lets have fun</em>&#8220;, which showed the simplicity and beauty of a regular expression engine in around 20 lines of C, to a wireframe Flight Sim from a recent IOCCC where the code itself was formated in the outline of an aircraft, and then a dotted history of his experiences and where he has found joy in coding.</p>
<p>After a pizza dinner break for the 46 (or thereabouts) people present, Rusty was then corraled into a panel discussion with <strong>Dr Chris McDonald </strong>from UWA CompSci, and <strong>Assistant Professor Robert Cunningham </strong>from UWA Law for a chat on various topics; seems like <em>cloud computing</em> was on everyone&#8217;s thoughts.</p>
<p>The PLUG AV crew streamed this event live, and recorded it: videos of the <a href="http://www.plug.org.au/video/2011/2011-10-11-Rusty-talk-part1.mp4">talk</a> (93 MB mp4) and the <a href="http://www.plug.org.au/video/2011/2011-10-11-Rusty-panel-part2.mp4">panel</a> (115 MB mp4) are now available (both are around an hour and a quarter). Older videos are <a href="http://www.plug.org.au/video/2011/">here</a>.</p>
<p>Rusty was very generous in refusing to accept the collected funds for the expenses, so we have money now to repeat this exercise of flying in another speaker. It&#8217;s up to PLUGGers to try and decide who they would like to see next! Time-wise its likely to be Q2 next year as PLUG has a full schedule until then.</p>
<p>Big thanks to Chris, Robert and Rusty for speaking &#8211; they were all excellent. Also to Daniel Hamrsworth for co-ordinating tickets, the AV crew for their recording, and for everyone who put their hand in their pocket to help the event come together.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.james.rcpt.to/2011/10/14/rustys-talk-at-plug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.plug.org.au/video/2011/2011-10-11-Rusty-talk-part1.mp4" length="97108145" type="video/mp4" />
<enclosure url="http://www.plug.org.au/video/2011/2011-10-11-Rusty-panel-part2.mp4" length="120313141" type="video/mp4" />
		</item>
		<item>
		<title>New a new PC. Time for a desktop?</title>
		<link>http://blog.james.rcpt.to/2011/09/19/new-a-new-pc-time-for-a-desktop/</link>
		<comments>http://blog.james.rcpt.to/2011/09/19/new-a-new-pc-time-for-a-desktop/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 15:40:55 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://blog.james.rcpt.to/?p=426</guid>
		<description><![CDATA[My 2 year old Dell Studio 1558 is doing it again: slowing to a snails pace, heating to an inferno, and then spontaneously powering off (which I think is a saftety set at CPU temperature reaching 100*C). I had Dell come and replace parts on this laptop about 9 months ago when similar symptoms developped. [...]]]></description>
				<content:encoded><![CDATA[<p>My 2 year old Dell Studio 1558 is doing it again: slowing to a snails pace, heating to an inferno, and then spontaneously powering off (which I think is a saftety set at CPU temperature reaching 100*C).</p>
<p>I had Dell come and replace parts on this laptop about 9 months ago when similar symptoms developped. I originally purchased this unit while I was in the UK, around January 2010 I think it was. I was hoping to get 3 years out of it. Sadly, at around 20 months old, I&#8217;m getting too frustrated to put up with it. I&#8217;m now living in Australia, and having any PC multi-national company honour their warranty internationally is a challenge. Heck, worse offender in this scenario is Sony, who want £20 to answer the phone!</p>
<p>Now that I&#8217;m no longer living in a flat with a very transient lifestyle (lots of travel having gone, and replaced by a 1 year old boy), I&#8217;m much more rooted to my home office desk. So, in light of this, I&#8217;m thinking of getting a desktop with a reasonable screen. I saw Russell Coker&#8217;s <a href="http://etbe.coker.com.au/2011/09/08/laptop-to-cloud-lifestyle/">post</a> about a 27&#8243; whopper from Dell for AU$899 or so, and was wondering what to pair that with, or if to go for a slightly smaller screen. Then comes the questions of the all-in-ones, and the touchscreens that are around.</p>
<p>What I&#8217;d like is something thats got a few (2?) USB 3 ports for the next few years of my accessory usage, SATA 3 so I can throw in a fast SSD. I&#8217;d potentially run Debian on this, so possibly don&#8217;t want a Windows license.4 GB RAM minimum, possibly 8.</p>
<p>So looking around its a quagmire of detaisl that 15 years ago I used to thrive on. Do I care about UEFI instead of a traditional BIOS. DO I really need SATA 3 instead of 2? What about legacy (!) 1394? HDMI connector &#8211; yes please &#8211; do I still want a VGA port? What about a second HDMI? Hm. That 27&#8243; screen&#8217;s native res is more than most on-board graphics can drive&#8230; perhaps drop to a 24&#8243; screen. What size should this be: ATX, mini ITX, smaller?</p>
<p>Then comes the pre-built or custom built. Dell, pretty I&#8217;m upset about your product quality right now. HP, you&#8217;ve (a) killed my DreamScreen recently, and (b) put your entire business in up the creek with indications that the PC business is going away/sold off. Lenovo? Acer?</p>
<p>So I&#8217;m at a computing crossroads. I can&#8217;t be bothered to build my own PC again &#8211; I&#8217;ve been living on laptops for almost a decade now. But they are expensive, and when something goes wrong, the there&#8217;s very little to salvage. Laptops suck, but do desktops suck less. Vendors suck, but then so does the time waste on building your own? I think Tablets suck for doing lots of data input (programming). All in ones &#8211; not sure. Touchscreens &#8211; probably a gimmick.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.james.rcpt.to/2011/09/19/new-a-new-pc-time-for-a-desktop/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Database Caching 1/12 queries in 0.009 seconds using memcached
Object Caching 306/574 objects using memcached

 Served from: blog.james.rcpt.to @ 2013-05-21 05:19:22 by W3 Total Cache -->