<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.turnkeylinux.org/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://www.turnkeylinux.org/blog">
  <channel>
    <title>Blog</title>
    <link>http://www.turnkeylinux.org/blog</link>
    <description />
    <language>en</language>
          <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.turnkeylinux.org/turnkeylinux-blog" /><feedburner:info uri="turnkeylinux-blog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>turnkeylinux-blog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
    <title>Backups are hard, making sure you got it right - harder</title>
    <link>http://feeds.turnkeylinux.org/~r/turnkeylinux-blog/~3/aXV_UJTmGP8/backups-are-hard</link>
    <description>&lt;p&gt;
	According to Murphy&amp;#39;s Law, everything that can go wrong, eventually will&amp;nbsp;go wrong.&lt;/p&gt;
&lt;p&gt;
	This is true for backups on multiple levels. A backup is often our last&amp;nbsp;line of defense when things go wrong, but so many things can go wrong&amp;nbsp;with the backup itself that we usually don&amp;#39;t find out about it until, well, horror of horrors, the backup fails.&lt;/p&gt;
&lt;p&gt;
	On the surface, backups can fail for zillions of reasons.&lt;/p&gt;
&lt;p&gt;
	If you&amp;#39;re ahead of the game you can probably think of at least a&amp;nbsp;dozen reasons why your backups will fail exactly when you need them the&amp;nbsp;most. If you can&amp;#39;t, you&amp;#39;ve most likely been lulled into a false sense of&amp;nbsp;security. You don&amp;#39;t even know what you don&amp;#39;t know.&lt;/p&gt;
&lt;p&gt;
	But these are just symptoms of a deeper underlying problem. Yes, backups&amp;nbsp;are hard to get right, but the real stinger is that they&amp;#39;re even harder&amp;nbsp;to test. This is because restoring a system from backup into production is&amp;nbsp;usually a labor intensive, error prone, time consuming exercise in pain.&lt;/p&gt;
&lt;p&gt;
	In the real world, it wouldn&amp;#39;t matter if things go wrong, if (and that&amp;#39;s a big if) we could easily&amp;nbsp;simulate the worst case scenario on demand: restore our systems from&amp;nbsp;backup and verify that everything works - or verify that they don&amp;#39;t, fix it, rinse-repeat.&lt;/p&gt;
&lt;p&gt;
	Bottom line? Few test their backups, and nobody tests them frequently&amp;nbsp;enough.&lt;/p&gt;
&lt;p&gt;
	Sure, if you have the resources (not many do), you can bruteforce your way around the problem.&amp;nbsp;For example, with the&amp;nbsp;right setup you could do frequent bit-for-bit identical snapshots of the&amp;nbsp;underlying storage media and send them safely off site via a very&amp;nbsp;high-bandwidth network connection (and vice versa). But such bruteforce&amp;nbsp;backup strategies are hugely inefficient and often impractical due to&amp;nbsp;costs.&lt;/p&gt;
&lt;p&gt;
	In the words of Mat Kearney - what is a boy to do?&lt;/p&gt;

&lt;!--
&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;
&lt;rdf:Description rdf:about="http://www.turnkeylinux.org/blog/backups-are-hard" dc:identifier="http://www.turnkeylinux.org/blog/backups-are-hard" dc:title="Backups are hard, making sure you got it right - harder" trackback:ping="http://www.turnkeylinux.org/trackback/1515" /&gt;
&lt;/rdf:RDF&gt;
--&gt;&lt;img src="http://feeds.feedburner.com/~r/turnkeylinux-blog/~4/aXV_UJTmGP8" height="1" width="1"/&gt;</description>
     <comments>http://www.turnkeylinux.org/blog/backups-are-hard#comments</comments>
 <category domain="http://www.turnkeylinux.org/blog/backup">backup</category>
 <pubDate>Tue, 31 Aug 2010 16:46:57 +0000</pubDate>
 <dc:creator>Alon Swartz</dc:creator>
 <guid isPermaLink="false">1515 at http://www.turnkeylinux.org</guid>
  <feedburner:origLink>http://www.turnkeylinux.org/blog/backups-are-hard</feedburner:origLink></item>
  <item>
    <title>Finding the closest data center using GeoIP and indexing</title>
    <link>http://feeds.turnkeylinux.org/~r/turnkeylinux-blog/~3/5F8aJADE2hQ/geoip-amazon-regions</link>
    <description>&lt;p&gt;
	We are about to release the TurnKey Linux Backup and Migration (TKLBAM)&amp;nbsp;mechanism, which boasts to be the simplest way, ever, to backup a&amp;nbsp;TurnKey appliance across all deployments (VM, bare-metal, Amazon EC2,&amp;nbsp;etc.), as well as provide the ability to restore a backup anywhere,&amp;nbsp;essentially appliance migration or upgrade.&lt;/p&gt;
&lt;p&gt;
	Note: We&amp;#39;ll be posting more details really soon - In this post I just&amp;nbsp;want to share an interesting issue we solved recently.&lt;/p&gt;
&lt;p&gt;
	Backups need to be stored somewhere - preferably somewhere that provides&amp;nbsp;unlimited, reliable, secure and inexpensive storage. After exploring the&amp;nbsp;available options, we decided on Amazon S3 for TKLBAM&amp;#39;s storage backend.&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;
	The problem&lt;/h2&gt;
&lt;div&gt;
	Amazon have 4 data centers called &lt;em&gt;regions&lt;/em&gt; spanning the world, situated&amp;nbsp;in North California (us-west-1), North Virginia (us-east-1), Ireland&amp;nbsp;(eu-west-1) and Singapore (ap-southeast-1).&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	&lt;strong&gt;The problem:&lt;/strong&gt; Which region should be used to store a servers backups, and&amp;nbsp;how should it be determined?&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	One option was to require the user to specify the region to be used&amp;nbsp;during backup, but, we quickly decided against polluting the user&amp;nbsp;interface with options which can be confusing, and opted for a solution&amp;nbsp;that could automatically determine the best region.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;h2&gt;
	The solution&lt;/h2&gt;
&lt;div&gt;
	The below map plots the countries/states with their associated Amazon&amp;nbsp;region:&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;center&gt;
	&lt;div&gt;
		&lt;img alt="" src="http://www.turnkeylinux.org/files/images/blog/geoip-amazon-regions.jpg" style="width: 480px; height: 243px; " /&gt;&lt;/div&gt;
	&lt;div&gt;
		&lt;em&gt;Generated automatically using Google Maps API from the indexes.&lt;/em&gt;&lt;/div&gt;
&lt;/center&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	&lt;strong&gt;The solution:&lt;/strong&gt; Determine the location of the server, then lookup the&amp;nbsp;closest Amazon region to the servers location.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;h3&gt;
	Part 1: GeoIP&lt;/h3&gt;
&lt;div&gt;
	This was the easy part. The &lt;a href="https://hub.turnkeylinux.org"&gt;TurnKey Hub&lt;/a&gt; is developed using Django which&amp;nbsp;ships with &lt;a href="http://docs.djangoproject.com/en/dev/ref/contrib/gis/geoip/"&gt;GeoIP&lt;/a&gt;&amp;nbsp;support in contrib. Within a few minutes of being&amp;nbsp;totally new to geo-location I had part 1 up and running.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	When TKLBAM is initialized and a backup is initiated, the Hub is&amp;nbsp;contacted to get authentication credentials and the S3 address for&amp;nbsp;backup. The Hub performs a lookup on the IP address and enumerates the&amp;nbsp;country/state.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	In a nutshell, adding GeoIP support to your Django app is simple: Install &lt;a href="http://www.maxmind.com/app/c"&gt;Maxmind&amp;#39;s C library&lt;/a&gt; and download the&amp;nbsp;appropriate &lt;a href="http://www.maxmind.com/download/geoip/database/"&gt;dataset&lt;/a&gt;. Then, once you update your settings.py file, you&amp;#39;re&amp;nbsp;all set.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;pre&gt;
&lt;u&gt;&lt;strong&gt;settings.py&lt;/strong&gt;&lt;/u&gt;

GEOIP_PATH = &amp;quot;/volatile/geoip&amp;quot;
GEOIP_LIBRARY_PATH = &amp;quot;/volatile/geoip/libGeoIP.so&amp;quot;

&lt;u&gt;&lt;strong&gt;code&lt;/strong&gt;&lt;/u&gt;

from django.contrib.gis.utils import GeoIP

ipaddress = request.META[&amp;#39;REMOTE_ADDR&amp;#39;]
g = GeoIP()
g.city(ipaddress)
    {&amp;#39;area_code&amp;#39;: 609,
     &amp;#39;city&amp;#39;: &amp;#39;Absecon&amp;#39;,
     &amp;#39;country_code&amp;#39;: &amp;#39;US&amp;#39;,
     &amp;#39;country_code3&amp;#39;: &amp;#39;USA&amp;#39;,
     &amp;#39;dma_code&amp;#39;: 504,
     &amp;#39;latitude&amp;#39;: -39.420898,
     &amp;#39;longitude&amp;#39;: - 74.497703,
     &amp;#39;postal_code&amp;#39;: &amp;#39;08201&amp;#39;,
     &amp;#39;region&amp;#39;: &amp;#39;NJ&amp;#39;}
&lt;/pre&gt;
&lt;div&gt;
	&lt;div&gt;
		&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;
	Part 2: Indexing&lt;/h3&gt;
&lt;div&gt;
	This part was a little more complicated.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	Now that we have the servers location, we can lookup the closest region.&amp;nbsp;The problem is creating an index of each and every country in the world, as&amp;nbsp;well as each US state - and associating them with their closest Amazon&amp;nbsp;region.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	Creating the index could have been really pain staking, boring and error&amp;nbsp;prone if doing it manually - so I devised a simple automated solution:&lt;/div&gt;
&lt;ul&gt;
	&lt;li&gt;
		Generate a mapping of country and state codes with their coordinates&amp;nbsp;(latitude and longitude).&lt;/li&gt;
	&lt;li&gt;
		Generate a reference map of the server farms coordinates.&lt;/li&gt;
	&lt;li&gt;
		Using a simple distance based calculation, determine the closest&amp;nbsp;region to each country/state, and finally output the index files.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
	I was also planning on incorporating data about internet connection&amp;nbsp;speeds and trunk lines between countries, and add weight to the&amp;nbsp;associations, but decided that was overkill.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	We are making the indexes available for public use (&lt;a href="http://www.turnkeylinux.org/files/attachments/countries.index"&gt;countries.index&lt;/a&gt;, &lt;a href="http://www.turnkeylinux.org/files/attachments/unitedstates.index"&gt;unitedstates.index&lt;/a&gt;).&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	More importantly, &lt;em&gt;we need your help to tweak the indexes&lt;/em&gt; - as you have&amp;nbsp;better knowledge and experience on your connection latency and speed.&amp;nbsp;Please let us know if you think we should associate your country/state&amp;nbsp;to a different Amazon region.&lt;/div&gt;

&lt;!--
&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;
&lt;rdf:Description rdf:about="http://www.turnkeylinux.org/blog/geoip-amazon-regions" dc:identifier="http://www.turnkeylinux.org/blog/geoip-amazon-regions" dc:title="Finding the closest data center using GeoIP and indexing" trackback:ping="http://www.turnkeylinux.org/trackback/1460" /&gt;
&lt;/rdf:RDF&gt;
--&gt;&lt;img src="http://feeds.feedburner.com/~r/turnkeylinux-blog/~4/5F8aJADE2hQ" height="1" width="1"/&gt;</description>
     <comments>http://www.turnkeylinux.org/blog/geoip-amazon-regions#comments</comments>
 <category domain="http://www.turnkeylinux.org/blog/amazon">amazon</category>
 <category domain="http://www.turnkeylinux.org/blog/cloud">cloud</category>
 <category domain="http://www.turnkeylinux.org/blog/django">django</category>
 <category domain="http://www.turnkeylinux.org/blog/ec2">ec2</category>
 <category domain="http://www.turnkeylinux.org/blog/hub">hub</category>
 <category domain="http://www.turnkeylinux.org/blog/s3">s3</category>
 <category domain="http://www.turnkeylinux.org/blog/storage">storage</category>
 <category domain="http://www.turnkeylinux.org/blog/tklbam">tklbam</category>
 <pubDate>Mon, 16 Aug 2010 05:08:25 +0000</pubDate>
 <dc:creator>Alon Swartz</dc:creator>
 <guid isPermaLink="false">1460 at http://www.turnkeylinux.org</guid>
  <feedburner:origLink>http://www.turnkeylinux.org/blog/geoip-amazon-regions</feedburner:origLink></item>
  <item>
    <title>Ask us anything</title>
    <link>http://feeds.turnkeylinux.org/~r/turnkeylinux-blog/~3/tCzsBwL071k/ask-us-anything</link>
    <description>&lt;p&gt;
	We&amp;#39;re going to be doing a series of interviews with prominent TurnKey community members so we figured it would make sense to do an interview with the founders of TurnKey (that&amp;#39;s us!).&lt;/p&gt;
&lt;p&gt;
	Interviewing ourselves is a bit weird, so instead we&amp;#39;re inviting the TurnKey community to propose the questions which we&amp;#39;ll answer in a separate blog post.&lt;/p&gt;
&lt;p&gt;
	So... ask us anything!&lt;/p&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;
&lt;rdf:Description rdf:about="http://www.turnkeylinux.org/blog/ask-us-anything" dc:identifier="http://www.turnkeylinux.org/blog/ask-us-anything" dc:title="Ask us anything" trackback:ping="http://www.turnkeylinux.org/trackback/1408" /&gt;
&lt;/rdf:RDF&gt;
--&gt;&lt;img src="http://feeds.feedburner.com/~r/turnkeylinux-blog/~4/tCzsBwL071k" height="1" width="1"/&gt;</description>
     <comments>http://www.turnkeylinux.org/blog/ask-us-anything#comments</comments>
 <category domain="http://www.turnkeylinux.org/blog/community">community</category>
 <category domain="http://www.turnkeylinux.org/blog/interview">interview</category>
 <category domain="http://www.turnkeylinux.org/blog/ubuntu">ubuntu</category>
 <pubDate>Tue, 10 Aug 2010 13:38:19 +0000</pubDate>
 <dc:creator>Liraz Siri</dc:creator>
 <guid isPermaLink="false">1408 at http://www.turnkeylinux.org</guid>
  <feedburner:origLink>http://www.turnkeylinux.org/blog/ask-us-anything</feedburner:origLink></item>
  <item>
    <title>Django settings.py for development and production</title>
    <link>http://feeds.turnkeylinux.org/~r/turnkeylinux-blog/~3/Dvs0wg-cS8Q/django-settings</link>
    <description>&lt;p&gt;
	So you developed a Django web application and now need to deploy it into&amp;nbsp;production, but still need to actively continue development (bugfixes,&amp;nbsp;tweaks, adding and testing new features, etc.)&lt;/p&gt;
&lt;p&gt;
	In your development environment you probably had debugging enabled,&amp;nbsp;performance settings disabled, used SQLite as your database, and other&amp;nbsp;settings that make development easier and faster.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	But in production you need to disable debugging, enable performance, and&amp;nbsp;use a real database such as MySQL or PostgreSQL, etc.&lt;/p&gt;
&lt;p&gt;
	Hopefully, your development environment can simulate your production&amp;nbsp;environment as well, sort of staging, so your final tests prior to&amp;nbsp;deployment provides the smallest delta.&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		Sometimes you need to emulate the full production environment.&lt;/li&gt;
	&lt;li&gt;
		Sometimes you need to emulate the full development environment.&lt;/li&gt;
	&lt;li&gt;
		Sometimes a mixture of the two.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	This leads to the question, how do you seamlessly manage your&amp;nbsp;development and production settings without adding overhead?&lt;/p&gt;
&lt;p&gt;
	It turns out there is quite a lot of discussion on how to setup Django&amp;nbsp;settings.py that supports both a development and production environment,&amp;nbsp;for example:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		Completely different settings.py files (usually you configure the&amp;nbsp;webserver to add the production settings to the python path, and&amp;nbsp;use the default (development) settings when using the dev&amp;nbsp;webserver.&lt;/li&gt;
	&lt;li&gt;
		By hostname&lt;/li&gt;
	&lt;li&gt;
		By variable (PRODUCTION = True)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	We recently came across this issue when we were ready to deploy the&amp;nbsp;&lt;a href="https://hub.turnkeylinux.org"&gt;TurnKey Hub&lt;/a&gt; into production.&lt;/p&gt;
&lt;p&gt;
	I didn&amp;#39;t really like the above mentioned solutions, so this is what I&amp;nbsp;came up with:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		settings.py (full settings for production)&lt;/li&gt;
	&lt;li&gt;
		settings-dev.py (override production for full development)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	If the environment variable DEVELOPMENT is set, use settings-dev to&amp;nbsp;override the production settings.&lt;/p&gt;
&lt;p&gt;
	I was toying with the idea to have full control over the settings via&amp;nbsp;the environment, for maximum flexibility, but in the end decided against&amp;nbsp;it, as it added too much complexity with not enough gain.&lt;/p&gt;
&lt;p&gt;
	Our settings_dev.py looks something like this:&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;DEBUG = True
TEMPLATE_DEBUG = True

COMPRESS_AUTO = True
SESSION_COOKIE_SECURE = False

DATABASE_ENGINE = &amp;#39;sqlite3&amp;#39;
DATABASE_NAME = &amp;#39;/tmp/dev.db&amp;#39;
DATABASE_USER = &amp;#39;&amp;#39;
DATABASE_PASSWORD = &amp;#39;&amp;#39;

TEMPLATE_LOADERS = (
    &amp;#39;django.template.loaders.filesystem.load_template_source&amp;#39;,
    &amp;#39;django.template.loaders.app_directories.load_template_source&amp;#39;,
)&lt;/code&gt;&lt;/pre&gt;
&lt;div id="cke_pastebin"&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	The settings.py (full settings for production) includes the following&amp;nbsp;snippet at the end.&lt;/div&gt;
&lt;pre&gt;
&lt;code&gt;if os.environ.get(&amp;#39;DEVELOPMENT&amp;#39;, None):
    from settings_dev import *&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;
&lt;rdf:Description rdf:about="http://www.turnkeylinux.org/blog/django-settings" dc:identifier="http://www.turnkeylinux.org/blog/django-settings" dc:title="Django settings.py for development and production" trackback:ping="http://www.turnkeylinux.org/trackback/1368" /&gt;
&lt;/rdf:RDF&gt;
--&gt;&lt;img src="http://feeds.feedburner.com/~r/turnkeylinux-blog/~4/Dvs0wg-cS8Q" height="1" width="1"/&gt;</description>
     <comments>http://www.turnkeylinux.org/blog/django-settings#comments</comments>
 <category domain="http://www.turnkeylinux.org/blog/development">development</category>
 <category domain="http://www.turnkeylinux.org/blog/django">django</category>
 <pubDate>Mon, 02 Aug 2010 07:17:23 +0000</pubDate>
 <dc:creator>Alon Swartz</dc:creator>
 <guid isPermaLink="false">1368 at http://www.turnkeylinux.org</guid>
  <feedburner:origLink>http://www.turnkeylinux.org/blog/django-settings</feedburner:origLink></item>
  <item>
    <title>GNU high school: teaching kids by contributing to open source</title>
    <link>http://feeds.turnkeylinux.org/~r/turnkeylinux-blog/~3/uvEBzytG_j0/gnu-high-school</link>
    <description>&lt;p&gt;
	Today I&amp;#39;d like to spotlight TurnKey&amp;#39;s unlikely relationship with Chelsea School, a high school in suburban Maryland. I&amp;#39;m going to try to tell this story on two levels:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;
		The straightforward who-what-why.&lt;/li&gt;
	&lt;li&gt;
		Why you should care.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
	I&amp;#39;ll start with the latter. If it works maybe you&amp;#39;ll stick around for the full story.&lt;/p&gt;
&lt;h2&gt;
	Kids collaborate with NASA, discover cave on Mars&lt;/h2&gt;
&lt;p&gt;
	Recently, a 7th grade science class, using the raw data from a NASA satellite, made a remarkable discovery: &lt;a href="http://www.space.com/scienceastronomy/students-discover-mars-cave-100621.html"&gt;a mysterious cave on Mars&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
	&amp;lt;!--break--&gt;I found myself fascinated not only by the discovery itself and what it means for future Mars exploration, but also in how it was made. A discovery on another planet, made not by a team of highly credentialed professionals, but a bunch of kids! When I was in middle school this sort of thing could only happen in a cartoon. But it&amp;#39;s 2010, and this is real life.&lt;/p&gt;
&lt;p&gt;
	Granted this isn&amp;#39;t the sort of thing that happens every day. But I think it questions the assumption that school kids can only learn by being spoon fed cookie-cutter, artificial assignments that bare little resemblance to real work, at least until they graduate.&lt;/p&gt;
&lt;p&gt;
	What if instead we could teach kids by challenging them with &lt;em&gt;authentic assessments&lt;/em&gt;? Real solutions to real problems, and not just in science where the bar to making new contributions is often set very high...&lt;/p&gt;
&lt;h2&gt;
	Open source and education: a match made in heaven?&lt;/h2&gt;
&lt;p&gt;
	All over the world millions of kids are studying computers and technology. Imagine what a difference we could make if we could figure out how to help the open source community embrace that opportunity.&lt;/p&gt;
&lt;p&gt;
	What if we could help kids explore how computer systems in the real world work in a friction-less playground that allows them to crack open the box, explore its insides and tinker.&lt;/p&gt;
&lt;p&gt;
	Imagine if with a bit of guidance we could teach them how to leverage open source and the unprecedented wealth of knowledge Google puts at their fingerprints to learn autonomously faster and better than we could ever spoon feed them with traditional methods.&lt;/p&gt;
&lt;p&gt;
	Before you know it kids will be applying what they&amp;#39;ve learned and using open source to solve real problems in their environment. Remember, you don&amp;#39;t have to be an experienced developer to add value to the open source community. There are many ways to contribute. Especially now that there is such an abundance of free components that often the real challenge is in discovering the good stuff and figuring out what to mix and match to get stuff done.&lt;/p&gt;
&lt;p&gt;
	A pipe dream you say? Our recent experience suggests otherwise...&lt;/p&gt;
&lt;h2&gt;
	Chelsea School: greater expectations&lt;/h2&gt;
&lt;p&gt;
	Let me get something off my chest. I tried not to show it, but when Rik Goldman, an English teacher at Chelsea School, started posting to the TurnKey forums I was initially somewhat skeptical.&lt;/p&gt;
&lt;p&gt;
	Chelsea School is a school that specializes in teaching students with language-based learning disabilities. Rik was in the process of guiding 6 students in their attempt to leverage off-the-shelf open source software to solve a real problem they had encountered: how to serve audible editions of assigned texts to students who would otherwise have difficulty accessing these materials.&lt;/p&gt;
&lt;p&gt;
	The students had decided to focus their efforts on Ampache, a streaming audio and video server which they setup to serve as a compromise between text-to-speech software and an actual human reader.&lt;/p&gt;
&lt;p&gt;
	They made it happen. In fact, not only did they leverage open source successfully in solving their local problem, they embraced the open source spirit, took the initiative and worked with us to help make it easy for everyone to use Ampache.&lt;/p&gt;
&lt;p&gt;
	Chelsea School students realized that setting up an open source based solution like Ampache can require technical skills that would scare off your typical school. Not content with just solving the problem for themselves the students built and configured a virtual appliance in which Ampache was pre-installed and pre-configured on top of Ubuntu, a popular Linux distribution.&lt;/p&gt;
&lt;p&gt;
	This made it possible to distribute and run a fully functional Ampache server from a USB key drive.&lt;/p&gt;
&lt;p&gt;
	If that wasn&amp;#39;t remarkable enough they then proceeded to develop and document a &lt;a href="http://www.turnkeylinux.org/forum/general/20100424/revised-ampache-tklpatch"&gt;high-quality patch&lt;/a&gt; that would allow us to add Ampache to the next release of the TurnKey Linux Virtual Appliance Library.&lt;/p&gt;
&lt;p&gt;
	Their patch automatically installs the required software components and then configures filesystem permissions, the Apache web server, MySQL database, and the Samba file sharing service. We couldn&amp;#39;t have done it any better ourselves and we&amp;#39;re supposed to be experts.&lt;/p&gt;
&lt;p&gt;
	Frankly, this impressed the heck out of me.&lt;/p&gt;
&lt;p&gt;
	This was no toy assignment. It&amp;#39;s a working technology product that thousands of other users all over the world will use. An authentic assessment of the skill involved in planning, developing and implementing an innovation. A genuine achievement.&lt;/p&gt;
&lt;p&gt;
	And they did it the same way we would do it. By googling, reading technical documentation, and consulting with others in the community. That along with a willingness to experiment through trial and error.&lt;/p&gt;
&lt;p&gt;
	Then, as if to show us this was no accident, in the following weeks they would do it again and again with Elgg and LimeSurvey.&lt;/p&gt;
&lt;p&gt;
	Allow me to emphasize that when they started out these high school students had no prior exposure to Ubuntu or Linux.&lt;/p&gt;
&lt;p&gt;
	According to Rik, the students reacted strongly to working with Ubuntu and the open source community. They were keenly interested in the community development process and were eager for feedback regarding their contributions. They read excerpts from Stallman on the philosophy behind the free software movement, and signed the Ubuntu Code of Conduct.&lt;/p&gt;
&lt;p&gt;
	Four of the six students even committed to maintaining the appliances as Ampache matures, even after they&amp;#39;ve left Chelsea School.&lt;/p&gt;
&lt;h2&gt;
	Meet the Chelsea School team&lt;/h2&gt;
&lt;p&gt;
	&lt;strong&gt;Rik Goldman&lt;/strong&gt;: trained as an English professor, Rik formerly taught University and College literature and composition classes. Today Rik teaches English and technology at Chelsea School&amp;#39;s high school division, which predominantly serves students with language-based learning disabilities that can have profound effects on reading comprehension and writing fluency. Besides literature, Rik has always been interested in computers, dabbling with everything from web development to system administration. This eventually led him to transition from English professor to instructional technologist and it&amp;#39;s through this experience that Rik lost his tolerance for proprietary, closed software in education.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;Adrian Madison&lt;/strong&gt;: a junior interested in pursuing a career in Information Technology. At home his personal computer is now running Ubuntu and he&amp;#39;s happiest learning new command line arguments. Adrian is hoping for a summer internship where he can put his new skills to use.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;Curtis Fawcett&lt;/strong&gt;: a senior in the software class that is debating between a major in English and a major in engineering. He&amp;#39;s an avid reader with an incredible memory and a natural strength for critical thinking and analysis. He&amp;#39;s putting these assets to use by taking a college class in CAD during his senior year. Curtis now runs Ubuntu on his home computer.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;Jerel Moses&lt;/strong&gt;: also in the software class, is enthusiastic about Ubuntu and the possibilities it offers for customized distribution. Jerel is simultaneously pursuing course work in web and graphic design. If he chooses to pursue a career in technology, he&amp;#39;ll be the third generation of computer techs in his family.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;Maurice Quarles&lt;/strong&gt;: a junior whose at his best navigating a GUI efficiently to perform OS tasks and maintenance. Maurice is interested in pursuing a career in game design.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;Steven Robinson&lt;/strong&gt;: currently a freshman in the hardware class. He&amp;#39;s the first student to start the Info Systems course while only in middle school and has a strong memory regarding hardware components and specifications. Steven&amp;#39;s laptop is now running Ubuntu.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;David Walton&lt;/strong&gt;: a freshman, interested in pursuing a career in game design. He kept the team laughing when they ran into problems, and insists that when Windows XP shuts down, it&amp;#39;s singing &amp;quot;have a nice day&amp;quot;. David, like Steven, is an avid gamer and is eager to start a career in game design.&lt;/p&gt;
&lt;h2&gt;
	Plans for the future&lt;/h2&gt;
&lt;p&gt;
	Rik&amp;#39;s plans include teaching more students about technology through authentic assessments. Starting an open source lab right in the school, and expanding the IT curriculum to include more advanced studies of Linux and the basics of programming/scripting languages such Bash, Python and PHP.&lt;/p&gt;
&lt;h2&gt;
	How do we scale this up?&lt;/h2&gt;
&lt;p&gt;
	Chelsea School has proven teaching students by contributing to open source can be a win-win for both education and the open source community.&lt;/p&gt;
&lt;p&gt;
	In my mind the main question now is, how do we scale this up? How do we bring together more schools and open source projects? Just imagine if we can figure out how to make this happen on a large scale, what a difference we could make.&lt;/p&gt;

&lt;!--
&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;
&lt;rdf:Description rdf:about="http://www.turnkeylinux.org/blog/gnu-high-school" dc:identifier="http://www.turnkeylinux.org/blog/gnu-high-school" dc:title="GNU high school: teaching kids by contributing to open source" trackback:ping="http://www.turnkeylinux.org/trackback/1414" /&gt;
&lt;/rdf:RDF&gt;
--&gt;&lt;img src="http://feeds.feedburner.com/~r/turnkeylinux-blog/~4/uvEBzytG_j0" height="1" width="1"/&gt;</description>
     <comments>http://www.turnkeylinux.org/blog/gnu-high-school#comments</comments>
 <category domain="http://www.turnkeylinux.org/blog/community">community</category>
 <category domain="http://www.turnkeylinux.org/blog/education">education</category>
 <category domain="http://www.turnkeylinux.org/blog/open-source">open source</category>
 <category domain="http://www.turnkeylinux.org/blog/ubuntu">ubuntu</category>
 <pubDate>Mon, 26 Jul 2010 10:19:36 +0000</pubDate>
 <dc:creator>Liraz Siri</dc:creator>
 <guid isPermaLink="false">1414 at http://www.turnkeylinux.org</guid>
  <feedburner:origLink>http://www.turnkeylinux.org/blog/gnu-high-school</feedburner:origLink></item>
  <item>
    <title>Tip: use custom search engines for efficiency</title>
    <link>http://feeds.turnkeylinux.org/~r/turnkeylinux-blog/~3/BQQNc7LtwaY/custom-search-engines</link>
    <description>&lt;div id="cke_pastebin"&gt;
	I don&amp;#39;t need to tell you how search improves our efficiency on the web,&amp;nbsp;but using custom search engines can make your day even more efficient.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	Configuring your browser to use custom search engines is a massive time&amp;nbsp;gain, and improves your work flow. When I used Firefox, I had set up&amp;nbsp;search plugins for the stuff I needed, but it took screen real-estate&amp;nbsp;(even with optimizations) and wasn&amp;#39;t easily customizable or extendable.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div id="cke_pastebin"&gt;
	&lt;img alt="" src="http://www.turnkeylinux.org/files/images/blog/search-firefox.jpg" /&gt;&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div id="cke_pastebin"&gt;
	With my migration to Google Chrome, I found setting up custom&amp;nbsp;search engines a snap, no wasted screen real-estate, and using keywords&amp;nbsp;improved my workflow.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div id="cke_pastebin"&gt;
	Example: Search Wikipedia by typing&amp;nbsp;&lt;em&gt;alt+d wp&amp;lt;space&amp;gt;search_term&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	&lt;img alt="" src="http://www.turnkeylinux.org/files/images/blog/search-chrome.jpg" /&gt;&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;h2&gt;
	Adding custom search engines in Chrome&lt;/h2&gt;
&lt;ol&gt;
	&lt;li&gt;
		Click the spanner, choose options.&lt;/li&gt;
	&lt;li&gt;
		Click manage (next to default search).&lt;/li&gt;
	&lt;li&gt;
		Click add.&lt;/li&gt;
	&lt;li&gt;
		Create your custom search engine.&lt;/li&gt;
&lt;/ol&gt;
&lt;div id="cke_pastebin"&gt;
	&lt;img alt="" src="http://www.turnkeylinux.org/files/images/blog/search-add.jpg" /&gt;&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;h2&gt;
	Custom search engines I use&lt;/h2&gt;
&lt;pre&gt;
&lt;strong&gt;Name                Keyword     URL&lt;/strong&gt;
-------------------------------------------------------------------------------------
TurnKey Linux       tkl         &lt;a href="http://www.turnkeylinux.org/search/node/%s" title="http://www.turnkeylinux.org/search/node/%s"&gt;http://www.turnkeylinux.org/search/node/%s&lt;/a&gt;
Ubuntu Packages     pkgu        &lt;a href="http://packages.ubuntu.org/%s" title="http://packages.ubuntu.org/%s"&gt;http://packages.ubuntu.org/%s&lt;/a&gt;
Debian Packages     pkgd        &lt;a href="http://packages.debian.org/%s" title="http://packages.debian.org/%s"&gt;http://packages.debian.org/%s&lt;/a&gt;
GitHub              gh          &lt;a href="http://github.com/search?q=%s" title="http://github.com/search?q=%s"&gt;http://github.com/search?q=%s&lt;/a&gt;
Wikipedia           wp          http://en.wikipedia.org/wiki/Special:Search?search=%s&lt;/pre&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;h3&gt;
	Notes on package searching&lt;/h3&gt;
&lt;div&gt;
	I usually use &lt;em&gt;apt-cache search search_term&lt;/em&gt; when I&amp;#39;m at the command&amp;nbsp;line, but I find that using the Ubuntu and Debian web interfaces useful&amp;nbsp;when exploring new packages and their dependencies while working on&amp;nbsp;appliance development.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	What custom search engines do you use?&lt;/div&gt;

&lt;!--
&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;
&lt;rdf:Description rdf:about="http://www.turnkeylinux.org/blog/custom-search-engines" dc:identifier="http://www.turnkeylinux.org/blog/custom-search-engines" dc:title="Tip: use custom search engines for efficiency" trackback:ping="http://www.turnkeylinux.org/trackback/1380" /&gt;
&lt;/rdf:RDF&gt;
--&gt;&lt;img src="http://feeds.feedburner.com/~r/turnkeylinux-blog/~4/BQQNc7LtwaY" height="1" width="1"/&gt;</description>
     <comments>http://www.turnkeylinux.org/blog/custom-search-engines#comments</comments>
 <category domain="http://www.turnkeylinux.org/blog/tip">tip</category>
 <category domain="http://www.turnkeylinux.org/blog/ubuntu">ubuntu</category>
 <category domain="http://www.turnkeylinux.org/blog/web">web</category>
 <pubDate>Mon, 19 Jul 2010 06:25:36 +0000</pubDate>
 <dc:creator>Alon Swartz</dc:creator>
 <guid isPermaLink="false">1380 at http://www.turnkeylinux.org</guid>
  <feedburner:origLink>http://www.turnkeylinux.org/blog/custom-search-engines</feedburner:origLink></item>
  <item>
    <title>TurnKey Appliance Development Contest: An Open Source Summer Bonanza!</title>
    <link>http://feeds.turnkeylinux.org/~r/turnkeylinux-blog/~3/R7gpWjsaWUI/contest</link>
    <description>&lt;p&gt;
	Over the last few months donations have been trickling in and gradually piling up. Since there&amp;#39;s a limit to how much beer we can reasonably drink we&amp;#39;ve been brainstorming ideas for using that money to help the project.&lt;/p&gt;
&lt;p&gt;
	One of the ideas we liked the most was to try and sponsor an experimental contest which would hopefully stimulate community &lt;a href="http://www.turnkeylinux.org/docs/tklpatch"&gt;TKLPatch&lt;/a&gt; development, strengthen the community and teach as many people as possible the skills needed to customize existing TurnKey appliances and create new ones. It&amp;#39;s not rocket science and you don&amp;#39;t need to be a programmer or systems expert. Anyone willing to learn a few basic Linux skills can have fun doing it. If you want we&amp;#39;ll even teach you how! (details below).&lt;/p&gt;
&lt;p&gt;
	We&amp;#39;re thinking of running the contest for the next 8 weeks. Then allow another 2 weeks to summarize the results and let the community help us decide who should win (e.g., a survey on the web site).&lt;/p&gt;
&lt;h2&gt;
	Prizes&lt;/h2&gt;
&lt;p&gt;
	Winners and all honorable mentions will be celebrated in obligatory blog posts, and forever immortalized in the TurnKey hall of fame. They&amp;#39;ll also receive full bragging rights, the undying gratitude of &lt;em&gt;billions&lt;/em&gt; of TurnKey users, and some of our excess beer money on PayPal, which they can claim for themselves or donate to a charity of their choice.&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;
		First prize: &lt;strike&gt;$1,500&lt;/strike&gt; &lt;a href="http://www.turnkeylinux.org/blog/contest#comment-3628"&gt;$100,000 + pony&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;
		Second prize: $800&lt;/li&gt;
	&lt;li&gt;
		Third prize: $100&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
	Many thanks to everyone who donated to the project! We&amp;#39;re hoping this will put your money to good use. If you like the idea and want to increase the contest pot size, feel free to &lt;a href="http://www.turnkeylinux.org/community/donate"&gt;donate now&lt;/a&gt; and ask us to dedicate the money to that.&lt;/p&gt;
&lt;h2&gt;
	Help us expand the next release&lt;/h2&gt;
&lt;p&gt;
	We&amp;#39;re hoping to get lots of high-quality submissions, and if we do, the timing will be just right.&lt;/p&gt;
&lt;p&gt;
	As many of you already know we&amp;#39;re in the middle of a development cycle for the new Lucid and Lenny based beta appliances and we have our hands full upgrading the existing crop of appliances and introducing new features such as backup and migration. Unfortunately that means this time around we don&amp;#39;t have the resources to expand the appliance library horizontally and add a significant number of new appliances from scratch.&lt;/p&gt;
&lt;p&gt;
	Unless... well, that&amp;#39;s where our heros come in. Adding a new appliance to the library from a &lt;a href="http://www.turnkeylinux.org/docs/tklpatch"&gt;TKLPatch&lt;/a&gt; still requires work, but it&amp;#39;s definitely easier than creating an appliance from scratch and that means we could get more of them done.&lt;/p&gt;
&lt;p&gt;
	In other words, any high-quality TKLPatch submissions we receive from the community in the next couple of months will have a very good chance of being formally adopted into the library in time for the next release.&lt;/p&gt;
&lt;p&gt;
	After that the appliance library will be frozen again for a while until the next release batch.&lt;/p&gt;
&lt;h2&gt;
	List of ideas&lt;/h2&gt;
&lt;p&gt;
	In no particular order here&amp;#39;s a list of ideas for appliances that have been sitting in our todo list for much too long and probably won&amp;#39;t make it into the next release without the community&amp;#39;s help:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		&lt;strong&gt;By function&lt;/strong&gt; (components not yet determined): terminal server replacement (I.e., remote desktops for thin-clients), ASP.NET replacement, web filtering proxy (e.g. privacy, ad-blocking, malware protection, content filtering), plug-in e-mail filter (e.g., spam/malware), unified threat management, load balancing reverse proxies.&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;eCommerce&lt;/strong&gt;: Magento, VirtueMart, PrestaShop, Zen Cart, osCommerce, UberCart.&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Content management&lt;/strong&gt;: Alfresco, SilverStripe, Plone, Knowledge Tree, DSpace, Apache Roller, LifeRay.&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Messaging&lt;/strong&gt;: DimDim, Asterisk, OpenFire, Mumble, Vanilla forum, StatusNet, Zarafa, Scalix, RoundCube, OpenEMM&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Business&lt;/strong&gt;: SugarCRM, vTiger CRM, Open HRM, Apache OFBiz, GLPI&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Monitoring&lt;/strong&gt;: Nagios, Cacti, ZenOSS, Hyperic, Zabbix, OpenNMS&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Infrastructure&lt;/strong&gt;: OpenLDAP, Radius&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Development frameworks&lt;/strong&gt;: Zope, TurboGears, jBos&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Management&lt;/strong&gt;: eBox, ISPConfig&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Data integration&lt;/strong&gt;: Jasper BI, Pentaho, SnapLogic&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Backup&lt;/strong&gt;: Amanda, Bacula&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;IDS&lt;/strong&gt;: Snort + Aanval, Snorby&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Virtualization&lt;/strong&gt;: Proxmox VE, Xen-DTC, oVirt, enomaly, eucalyptus&lt;/li&gt;
	&lt;li&gt;
		&lt;strong&gt;Misc&lt;/strong&gt;: Apache Solr, iFolder, IceCast, OpenVPN ALS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	If you have your own ideas for appliances you think would make good additions to the TurnKey library, don&amp;#39;t worry if they&amp;#39;re not on the list. All contributions are welcome. Work on whatever interests you.&lt;/p&gt;
&lt;h2&gt;
	Sign up for a live training session&lt;/h2&gt;
&lt;p&gt;
	Creating a TKLPatch isn&amp;#39;t hard. Read &lt;a href="http://www.turnkeylinux.org/docs/tklpatch"&gt;the documentation&lt;/a&gt; and still not sure where to begin? No problem. If there&amp;#39;s interest, we&amp;#39;ll be giving free live training sessions on &lt;a href="http://www.turnkeylinux.org/irc"&gt;TurnKey&amp;#39;s IRC channel&lt;/a&gt; showing how to build an example TKLPatch step by step and answering any questions. &lt;strike&gt;&lt;a href="http://www.turnkeylinux.org/node/1373"&gt;Click here&lt;/a&gt; to sign up and we&amp;#39;ll send you an e-mail with the time and date of the session.&lt;/strike&gt;&lt;/p&gt;
&lt;p&gt;
	UPDATE:&amp;nbsp;The session is scheduled for &lt;a href="http://www.timeanddate.com/worldclock/fixedtime.html?day=25&amp;amp;month=7&amp;amp;year=2010&amp;amp;hour=17&amp;amp;min=0&amp;amp;sec=0&amp;amp;p1=0" style="color: rgb(152, 102, 1) ! important;"&gt;July 25 2010, 17:00 UTC&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
	A few guidelines&lt;/h2&gt;
&lt;ul&gt;
	&lt;li&gt;
		&lt;p&gt;
			You can improve an existing appliance or create a new appliance by patching any appliance in the TurnKey library, including the new Ubuntu Lucid and Debian Lenny TurnKey Core betas.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;
			If you&amp;#39;re creating a new appliance, we recommend patching the new beta of TurnKey Core based on Ubuntu 10.04 Lucid. This is the latest version of Ubuntu so it has the newest packages in its software repositories.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;
			It&amp;#39;s preferable to install software through the package management system rather than directly from an upstream tarball. It&amp;#39;s usually much easier to install and update software this way.&lt;/p&gt;
		&lt;p&gt;
			Unfortunately, sometimes this won&amp;#39;t be an option because there&amp;#39;s a lot of excellent open source software that isn&amp;#39;t in Ubuntu&amp;#39;s or Debian&amp;#39;s package repositories. In these cases try checking if the software you&amp;#39;re looking for is at least available as a Debian package (*.deb).&lt;/p&gt;
		&lt;p&gt;
			If not, that&amp;#39;s OK. An appliance doesn&amp;#39;t have to be perfect to be useful.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;
			In case it isn&amp;#39;t obvious, if you include software from outside the official package repositories, make sure it&amp;#39;s available under an open source license (e.g., GPL, BSD, etc.). Free as in free beer is not enough. Software in official TurnKey appliances must also be free as in liberty.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;
			Publish results as soon as you have them on the &lt;a href="http://www.turnkeylinux.org/forum/general"&gt;forum&lt;/a&gt; and/or &lt;a href="http://wiki.turnkeylinux.org/TKLPatch/Patches"&gt;development wiki&lt;/a&gt;. In general, credit for a result goes to the first person who publishes. This doesn&amp;#39;t even have to be a finished TKLPatch, though naturally finished, high-quality submissions count moure than partial results.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;
			To avoid duplicated effort, check the development wiki before you start working on a new TKLPatch. Maybe it&amp;#39;s already been submitted. But if you think you can make something better, don&amp;#39;t let that stop you!&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;
			You can work alone, or collaborate as part of a group. Your choice. There&amp;#39;s no need to register. If you&amp;#39;re part of a group, just document who should take credit (e.g., Hans Solo, Star Wars group).&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;
			Results will be evaluated based on a quality and quantity of all submissions, including any integration notes, TKLPatches, or documentation submitted. At the end we&amp;#39;ll summarize the results of all participants and set up community surveys to help us decide who should win.&lt;/p&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;p&gt;
			Have fun!&lt;/p&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	&lt;strong&gt;Don&amp;#39;t forget to &lt;a href="http://www.turnkeylinux.org/node/1373"&gt;sign up&lt;/a&gt; for the live training session if you&amp;#39;re interested. Any questions?&lt;/strong&gt;&lt;/p&gt;

&lt;!--
&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;
&lt;rdf:Description rdf:about="http://www.turnkeylinux.org/blog/contest" dc:identifier="http://www.turnkeylinux.org/blog/contest" dc:title="TurnKey Appliance Development Contest: An Open Source Summer Bonanza!" trackback:ping="http://www.turnkeylinux.org/trackback/1372" /&gt;
&lt;/rdf:RDF&gt;
--&gt;&lt;img src="http://feeds.feedburner.com/~r/turnkeylinux-blog/~4/R7gpWjsaWUI" height="1" width="1"/&gt;</description>
     <comments>http://www.turnkeylinux.org/blog/contest#comments</comments>
 <category domain="http://www.turnkeylinux.org/blog/community">community</category>
 <category domain="http://www.turnkeylinux.org/blog/contest-0">contest</category>
 <category domain="http://www.turnkeylinux.org/blog/development">development</category>
 <category domain="http://www.turnkeylinux.org/news">news</category>
 <category domain="http://www.turnkeylinux.org/blog/tklpatch">tklpatch</category>
 <category domain="http://www.turnkeylinux.org/blog/ubuntu">ubuntu</category>
 <pubDate>Mon, 12 Jul 2010 06:19:45 +0000</pubDate>
 <dc:creator>Liraz Siri</dc:creator>
 <guid isPermaLink="false">1372 at http://www.turnkeylinux.org</guid>
  <feedburner:origLink>http://www.turnkeylinux.org/blog/contest</feedburner:origLink></item>
  <item>
    <title>Django navigation bar (active link highlighting)</title>
    <link>http://feeds.turnkeylinux.org/~r/turnkeylinux-blog/~3/OzYXjiyZxco/django-navbar</link>
    <description>&lt;div id="cke_pastebin"&gt;
	Every web application needs a navigation bar. Common practice is to&amp;nbsp;indicate to the user where he or she is, and is usually implemented by&amp;nbsp;using a visual aid such as a bold type-face, different color or an icon.&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	I wanted an elegant, generic, extendable solution to &amp;quot;highlight&amp;quot; a link&amp;nbsp;on the navigation bar without hardcoding URLs, using ifequals, or using&amp;nbsp;template block inheritance by specifying a navbar block on each and&amp;nbsp;every template (you&amp;#39;d be surprised, but the above mentioned are recommend often).&lt;/div&gt;
&amp;lt;!--break--&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	The solution I came up with is quite simple.&lt;/div&gt;
&lt;ul&gt;
	&lt;li&gt;
		No need to hardcode URLs (using urlconf names).&lt;/li&gt;
	&lt;li&gt;
		Navbar is only specified in the base template (actually a separate&amp;nbsp;template loaded by the base template).&lt;/li&gt;
	&lt;li&gt;
		By using a simple template tag and the &lt;em&gt;request context processor&lt;/em&gt;, &amp;quot;active&amp;quot; will be returned if the &amp;quot;link&amp;quot; should be active.&lt;/li&gt;
	&lt;li&gt;
		Supports multiple URLs for each link.&lt;/li&gt;
	&lt;li&gt;
		CSS is used to highlight the active link.&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="rtecenter"&gt;
	&lt;img alt="" src="http://www.turnkeylinux.org/files/images/blog/django-navbar.jpg" style="width: 487px; height: 123px; " /&gt;&lt;/p&gt;
&lt;p class="rtecenter"&gt;
	You can see the above in action on the &lt;a href="https://hub.turnkeylinux.org"&gt;TurnKey Hub&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
	&lt;span class="Apple-style-span" style="color: rgb(90, 51, 32); font-family: 'Trebuchet MS', Trebuchet, 'Nimbus Sans L', sans-serif; line-height: 25px; font-size: 20px; font-weight: bold; letter-spacing: 1px; "&gt;On to the code&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;
	First up, we need to enable the request context processor.&lt;/p&gt;
&lt;pre&gt;
&lt;code&gt;
&lt;u&gt;&lt;strong&gt;settings.py&lt;/strong&gt;&lt;/u&gt;

TEMPLATE_CONTEXT_PROCESSORS = (
    ...
    &amp;#39;django.core.context_processors.request&amp;#39;,
)&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div id="cke_pastebin"&gt;
	Next, create the template tag &lt;em&gt;navactive.&lt;/em&gt;&lt;/div&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
	Note: the navigation sitemap I&amp;#39;m using is flat, but you can tweak the code to&amp;nbsp;support multiple levels quite easily.&lt;/div&gt;
&lt;pre&gt;
&lt;code&gt;
&lt;u&gt;&lt;strong&gt;apps/&amp;lt;myapp&amp;gt;/templatetags/base_extras.py&lt;/strong&gt;&lt;/u&gt;

from django import template
from django.core.urlresolvers import reverse

register = template.Library()

@register.simple_tag
def navactive(request, urls):
    if request.path in ( reverse(url) for url in urls.split() ):
        return &amp;quot;active&amp;quot;
    return &amp;quot;&amp;quot;&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div id="cke_pastebin"&gt;
	Now for a little CSS styling...&lt;/div&gt;
&lt;pre&gt;
&lt;code&gt;
&lt;u&gt;&lt;strong&gt;media/css/style.css&lt;/strong&gt;&lt;/u&gt;

.navbar .active {
    font-weight: bold;
}&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div id="cke_pastebin"&gt;
	With all the above in place, we can create the navigation bar template code.&lt;/div&gt;
&lt;pre&gt;
&lt;code&gt;
&lt;u&gt;&lt;strong&gt;templates/navigation.html&lt;/strong&gt;&lt;/u&gt;

{% load base_extras %}

&amp;lt;div id=&amp;quot;topbar&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;navbar&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;navbar-side navbar-left&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;div class=&amp;quot;navbar-content&amp;quot;&amp;gt;
        {% if user.is_authenticated %}
            &amp;lt;a class=&amp;quot;{% navactive request &amp;#39;servers help_server&amp;#39; %}&amp;quot;
                href=&amp;quot;{% url servers %}&amp;quot;&amp;gt;Servers&amp;lt;/a&amp;gt;

            &amp;lt;a class=&amp;quot;{% navactive request &amp;#39;account_clouds help_registeraccount
                href=&amp;quot;{% url account_clouds %}&amp;quot;&amp;gt;Cloud Accounts&amp;lt;/a&amp;gt;

            &amp;lt;a class=&amp;quot;{% navactive request &amp;#39;account_details&amp;#39; %}&amp;quot;
                href=&amp;quot;{% url account_details %}&amp;quot;&amp;gt;User Profile&amp;lt;/a&amp;gt;

            &amp;lt;a href=&amp;quot;{% url auth_logout %}&amp;quot;&amp;gt;Logout&amp;lt;/a&amp;gt;
        {% else %}
            &amp;lt;a href=&amp;quot;{% url auth_login %}&amp;quot;&amp;gt;Login&amp;lt;/a&amp;gt; or
            &amp;lt;a href=&amp;quot;{% url registration_register %}&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Sign up&amp;lt;/b&amp;gt;&amp;lt;/a&amp;gt;
        {% endif %}
        &amp;lt;/div&amp;gt;
        &amp;lt;div class=&amp;quot;navbar-side navbar-right&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
	&amp;nbsp;&lt;/div&gt;
&lt;div id="cke_pastebin"&gt;
	And finally, include the navigation bar in the base template so the navigation bar shows up on each page.&lt;/div&gt;
&lt;pre&gt;
&lt;code&gt;&lt;u&gt;&lt;strong&gt;templates/base.html&lt;/strong&gt;&lt;/u&gt;

{% include &amp;quot;navigation.html&amp;quot; %}
&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;!--
&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;
&lt;rdf:Description rdf:about="http://www.turnkeylinux.org/blog/django-navbar" dc:identifier="http://www.turnkeylinux.org/blog/django-navbar" dc:title="Django navigation bar (active link highlighting)" trackback:ping="http://www.turnkeylinux.org/trackback/1365" /&gt;
&lt;/rdf:RDF&gt;
--&gt;&lt;img src="http://feeds.feedburner.com/~r/turnkeylinux-blog/~4/OzYXjiyZxco" height="1" width="1"/&gt;</description>
     <comments>http://www.turnkeylinux.org/blog/django-navbar#comments</comments>
 <category domain="http://www.turnkeylinux.org/blog/development">development</category>
 <category domain="http://www.turnkeylinux.org/blog/django">django</category>
 <pubDate>Thu, 08 Jul 2010 08:49:01 +0000</pubDate>
 <dc:creator>Alon Swartz</dc:creator>
 <guid isPermaLink="false">1365 at http://www.turnkeylinux.org</guid>
  <feedburner:origLink>http://www.turnkeylinux.org/blog/django-navbar</feedburner:origLink></item>
  <item>
    <title>Beta of TurnKey Core on Debian Lenny (+ Ubuntu vs Debian)</title>
    <link>http://feeds.turnkeylinux.org/~r/turnkeylinux-blog/~3/Mbr3QswT2Bo/debian-vs-ubuntu-turnkey-appliances</link>
    <description>&lt;p&gt;
	We&amp;#39;ve just uploaded to SourceForge our first ever Debian-based virtual appliance: a beta of TurnKey Core on the rock stable Lenny release.&lt;/p&gt;
&lt;div class="actionbox" style="border-style: solid; border-color: rgb(246, 246, 246) rgb(220, 220, 220) rgb(220, 220, 220) rgb(246, 246, 246); border-width: 1px; margin: 0px 0px 1.5em; padding: 8px 0px; text-align: center; background-image: url(http://www.turnkeylinux.org/files/images/fade3.jpg); background-color: rgb(255, 255, 255); background-position: 50% 100%;"&gt;
	&lt;div class="download" style="margin: 0px; padding: 0px; display: inline; white-space: nowrap;"&gt;
		&lt;h3 style="margin: 0.7em 0px; padding: 0px; font-family: 'Trebuchet MS',Trebuchet,'Nimbus Sans L',sans-serif; color: rgb(90, 51, 32); font-size: 1.1em; line-height: 1.25em; letter-spacing: 1px; text-transform: uppercase; position: relative; display: inline;"&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;DOWNLOAD BETA:&lt;/span&gt;&lt;/h3&gt;
		&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;&amp;nbsp;&lt;/span&gt;
		&lt;div class="body" style="margin: 0px; padding: 0px; display: inline;"&gt;
			&lt;div class="iso" style="margin: 0px; padding: 0px; display: inline;"&gt;
				&lt;span class="Apple-style-span" style="line-height: 19px;"&gt;&lt;a class="image" href="http://www.turnkeylinux.org/download?file=turnkey-core-beta-lenny-x86.iso" rel="nofollow" style="margin: 0px; padding: 0px; color: rgb(152, 102, 1);" title="Installable Live CD image"&gt;105MB ISO&lt;/a&gt;&amp;nbsp;&lt;a href="http://releases.turnkeylinux.org/turnkey-core/beta-lenny-x86/turnkey-core-beta-lenny-x86.changelog"&gt;(changelog)&lt;/a&gt;&amp;nbsp;&lt;a class="signature" href="http://releases.turnkeylinux.org/turnkey-core/beta-lenny-x86/turnkey-core-beta-lenny-x86.iso.sig" rel="nofollow" style="margin: 0px; padding: 0px; color: rgb(152, 102, 1);" title="GPG signature for integrity verification"&gt;(sig)&lt;/a&gt;&amp;nbsp;&lt;a class="manifest" href="http://releases.turnkeylinux.org/turnkey-core/beta-lenny-x86/turnkey-core-beta-lenny-x86.manifest" rel="nofollow" style="margin: 0px; padding: 0px; color: rgb(152, 102, 1);" title="List of package versions"&gt;(manifest)&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;p style="margin: 1em 0px; padding: 0px;"&gt;
	It has about the same features as the &lt;a href="http://www.turnkeylinux.org/blog/core-lucid-beta"&gt;Ubuntu 10.04 based Core beta&lt;/a&gt; we released a couple of weeks ago with a few minor exceptions (e.g., grub instead of grub-pc, byobu not included).&lt;/p&gt;
&lt;h2&gt;
	Ubuntu-Debian chimeras considered harmful&lt;/h2&gt;
&lt;p&gt;
	Most users probably don&amp;#39;t realize it but a handful of our current crop of &amp;quot;Ubuntu based&amp;quot; appliances are actually Ubuntu-Debian chimeras. The package management system (APT) is technically capable of mixing packages from different distributions. We took advantage of that to configure some TurnKey appliances to get security updates directly from Debian for certain packages which were not supported on Ubuntu.&lt;/p&gt;
&lt;p&gt;
	Unfortunately it&amp;#39;s a relatively complicated hack that relies on poorly documented, rarely used, and consequently buggy APT functionality.&lt;/p&gt;
&lt;p&gt;
	It hasn&amp;#39;t back-fired yet, but we&amp;#39;d rather not wait for that to happen.&lt;/p&gt;
&lt;p&gt;
	TurnKey appliances are configured to auto-update security fixes by default so safety and robustness is a key concern. We don&amp;#39;t want to risk breaking anything in the future. Better safe than sorry!&lt;/p&gt;
&lt;p&gt;
	So from now on, no more chimeras. The upcoming Ubuntu Lucid based appliances will be 100% Ubuntu, even if that means some packages don&amp;#39;t get security updates.&lt;/p&gt;
&lt;h2&gt;
	Are Debian based appliances worth the trouble?&lt;/h2&gt;
&lt;p&gt;
	This brings us to our dilemma. Guaranteed security updates for all packages are a big deal, at least for us. And only Debian provides that.&lt;/p&gt;
&lt;p&gt;
	Which got us thinking. How much extra work would it take to also build a Debian-based TurnKey Core? And would the interest from the community justify the effort?&lt;/p&gt;
&lt;p&gt;
	Bottom line: it was a bit harder than we anticipated but we made it happen and now we need the community&amp;#39;s help in figuring out if it matters.&lt;/p&gt;
&lt;p&gt;
	Though we haven&amp;#39;t committed to it yet, we are seriously considering Debian-based builds of all TurnKey Linux appliances. But that depends on the feedback we get from you and the level of interest in this.&lt;/p&gt;
&lt;p&gt;
	Frankly, we don&amp;#39;t have the resources to &lt;em&gt;thoroughly&lt;/em&gt; test both Debian and Ubuntu based builds of all TurnKey appliances.&lt;/p&gt;
&lt;p&gt;
	That means to pull this off we&amp;#39;ll need all the help we can get testing Betas, providing feedback on issues that come up, filing and triaging bug reports, etc.&lt;/p&gt;
&lt;p&gt;
	If you care about TurnKey on Debian, we&amp;#39;ll need you to step up to the plate and help us make it happen.&lt;/p&gt;
&lt;h2&gt;
	Ubuntu vs. Debian: the story so far...&lt;/h2&gt;
&lt;p&gt;
	So far TurnKey has been known as an Ubuntu based open source project so this move towards Debian may come as a surprise to some, but those of you who have been following closely know that Debian support has actually been in our sights since TurnKey&amp;#39;s conception.&lt;/p&gt;
&lt;p&gt;
	One of our first polls asked: &lt;a href="http://www.turnkeylinux.org/polls/would-you-prefer-software-appliances-based-ubuntu-or-debian"&gt;would you prefer virtual appliances based on Ubuntu or Debian&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;
	Results so far (based on 763 votes):&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		62%: Ubuntu for both client and sever roles&lt;/li&gt;
	&lt;li&gt;
		23%: Debian for server roles, Ubuntu for client roles&lt;/li&gt;
	&lt;li&gt;
		15%: Debian for both client and server roles&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	Despite a clear preference for Ubuntu (which is better known due to its popularity on the desktop), a significant 38% still prefer Debian for server roles.&lt;/p&gt;
&lt;p&gt;
	This resonates with us because when TurnKey was still on the drawing board a couple of years ago we debated Ubuntu vs. Debian extensively. In the end Ubuntu won by a slim margin but it was a tough call!&lt;/p&gt;
&lt;p&gt;
	I&amp;#39;ll talk a little bit about the thought process behind that because despite a couple of years going by the big picture hasn&amp;#39;t really changed.&lt;/p&gt;
&lt;p&gt;
	Back then we were mainly using Ubuntu on our desktops and Debian on our servers and frankly Debian seemed like a more natural choice for a server-oriented virtual appliance library.&lt;/p&gt;
&lt;p&gt;
	The &amp;quot;main&amp;quot; problem with Ubuntu is that only a subset of packages in the &amp;quot;main&amp;quot; component are officially supported with security updates.&lt;/p&gt;
&lt;p&gt;
	By contrast, Debian supported all 25,000 packages with carefully backported, well tested security fixes that could be safely applied to a production system. Debian is also rock solid in terms of stability, which is something you usually want in a server operating system, even when it comes at the expense of having the latest package versions.&lt;/p&gt;
&lt;p&gt;
	On the other hand Ubuntu 8.04 (Hardy), a Long Term Support version had just been released and Debian Lenny was still a work in progress. Stability comes at a price, and it&amp;#39;s one of the main reasons for Debian&amp;#39;s notoriously slow release cycle.&lt;/p&gt;
&lt;p&gt;
	But we didn&amp;#39;t want to wait &lt;em&gt;who knew how long&lt;/em&gt; or start a new project on an old distribution...&lt;/p&gt;
&lt;p&gt;
	Plus, we shared Ubuntu&amp;#39;s values regarding making open source accessible to everyone, not just savvy experts. That meant encouraging a community atmosphere in which everyone was welcome and treated with respect. Which is why we adopted the &lt;a href="http://www.turnkeylinux.org/community/conduct"&gt;Ubuntu Code of Conduct&lt;/a&gt;. Unfortunately, the Debian community had a reputation for being more withdrawn and elitist.&lt;/p&gt;
&lt;p&gt;
	Ubuntu&amp;#39;s popular appeal was also a factor. Let&amp;#39;s face it, today Ubuntu has far better name recognition than Debian, though I think that&amp;#39;s mostly due to superior marketing and more effective leadership. Having a wealthy benevolent dictator that can bankroll the operation definitely has a few advantages (and disadvantages!).&lt;/p&gt;
&lt;p&gt;
	But keep in mind that though Ubuntu and Debian do inevitably compete for users in some areas, they aren&amp;#39;t really in direct opposition. In fact, every 6 months a new version of Ubuntu begins its life from a snapshot of the unstable Debian version in development.&lt;/p&gt;
&lt;p&gt;
	Certainly Ubuntu deserves credit for pushing the envelope in areas like usability, but it&amp;#39;s Debian&amp;#39;s self-governed volunteer workforce of over 1600 developers that do much of the unglamorous heavy lifting.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;Long story short, try the beta and tell us what you think. Obviously we have immense respect for both distributions and we&amp;#39;d like to hear your views on where we should take it from here.&lt;/strong&gt;&lt;/p&gt;

&lt;!--
&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;
&lt;rdf:Description rdf:about="http://www.turnkeylinux.org/blog/debian-vs-ubuntu-turnkey-appliances" dc:identifier="http://www.turnkeylinux.org/blog/debian-vs-ubuntu-turnkey-appliances" dc:title="Beta of TurnKey Core on Debian Lenny (+ Ubuntu vs Debian)" trackback:ping="http://www.turnkeylinux.org/trackback/1345" /&gt;
&lt;/rdf:RDF&gt;
--&gt;&lt;img src="http://feeds.feedburner.com/~r/turnkeylinux-blog/~4/Mbr3QswT2Bo" height="1" width="1"/&gt;</description>
     <comments>http://www.turnkeylinux.org/blog/debian-vs-ubuntu-turnkey-appliances#comments</comments>
 <category domain="http://www.turnkeylinux.org/blog/beta">beta</category>
 <category domain="http://www.turnkeylinux.org/blog/core">core</category>
 <category domain="http://www.turnkeylinux.org/blog/debian">debian</category>
 <category domain="http://www.turnkeylinux.org/news">news</category>
 <category domain="http://www.turnkeylinux.org/blog/ubuntu">ubuntu</category>
 <pubDate>Wed, 30 Jun 2010 12:23:44 +0000</pubDate>
 <dc:creator>Liraz Siri</dc:creator>
 <guid isPermaLink="false">1345 at http://www.turnkeylinux.org</guid>
  <feedburner:origLink>http://www.turnkeylinux.org/blog/debian-vs-ubuntu-turnkey-appliances</feedburner:origLink></item>
  <item>
    <title>Beta of TurnKey Core on Ubuntu 10.04 LTS</title>
    <link>http://feeds.turnkeylinux.org/~r/turnkeylinux-blog/~3/Q3cIT7DTPfA/core-lucid-beta</link>
    <description>&lt;p&gt;
	Well, it took a little longer than expected, but we are pleased to&amp;nbsp;announce that TurnKey Core - the common base for all appliances, has been released based on Ubuntu 10.04 LTS (Lucid Lynx).&lt;/p&gt;
&lt;p&gt;
	Ubuntu 10.04 LTS will be supported for five years.&lt;/p&gt;
&lt;p&gt;
	This is a beta release, so take it for a spin, let us know what you think. If you come across any issues, please &lt;a href="https://bugs.launchpad.net/turnkeylinux"&gt;report them&lt;/a&gt;. If you have ideas on how to make it better, &lt;a href="#comments"&gt;let us know&lt;/a&gt;.&lt;/p&gt;
&lt;div class="actionbox" style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 8px; padding-right: 0px; padding-bottom: 8px; padding-left: 0px; text-align: center; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(246, 246, 246); border-right-color: rgb(220, 220, 220); border-bottom-color: rgb(220, 220, 220); border-left-color: rgb(246, 246, 246); background-image: url(http://www.turnkeylinux.org/files/images/fade3.jpg); background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(255, 255, 255); background-position: 50% 100%; background-repeat: repeat no-repeat; "&gt;
	&lt;div class="download" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline; white-space: nowrap; "&gt;
		&lt;h3 style="margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-family: 'Trebuchet MS', Trebuchet, 'Nimbus Sans L', sans-serif; color: rgb(90, 51, 32); font-size: 1.1em; line-height: 1.25em; letter-spacing: 1px; text-transform: uppercase; position: relative; display: inline; "&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;DOWNLOAD BETA:&lt;/span&gt;&lt;/h3&gt;
		&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;&amp;nbsp;&lt;/span&gt;
		&lt;div class="body" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline; "&gt;
			&lt;div class="iso" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; display: inline; "&gt;
				&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;&lt;a class="image" href="http://www.turnkeylinux.org/download?file=turnkey-core-beta-lucid-x86.iso" rel="nofollow" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(152, 102, 1); " title="Installable Live CD image"&gt;144MB ISO&lt;/a&gt;&amp;nbsp;&lt;a href="http://releases.turnkeylinux.org/turnkey-core/beta-lucid-x86/turnkey-core-beta-lucid-x86.changelog"&gt;(changelog)&lt;/a&gt;&amp;nbsp;&lt;a class="signature" href="http://releases.turnkeylinux.org/turnkey-core/beta-lucid-x86/turnkey-core-beta-lucid-x86.iso.sig" rel="nofollow" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(152, 102, 1); " title="GPG signature for integrity verification"&gt;(sig)&lt;/a&gt;&amp;nbsp;&lt;a class="manifest" href="http://releases.turnkeylinux.org/turnkey-core/beta-lucid-x86/turnkey-core-beta-lucid-x86.manifest" rel="nofollow" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(152, 102, 1); " title="List of package versions"&gt;(manifest)&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;
	All other (beta) appliances based on Ubuntu 10.04 LTS will be released in batches&amp;nbsp;in the following weeks leading up to the official release, which is planned for the beginning of August. This is to coincide with the release of &lt;a href="https://launchpad.net/ubuntu/+milestone/ubuntu-10.04.1"&gt;Ubuntu 10.04.1&lt;/a&gt;, which is recommended for production deployment.&lt;/p&gt;
&lt;h2 style="font-family: 'Trebuchet MS', Trebuchet, 'Nimbus Sans L', sans-serif; color: rgb(90, 51, 32); margin-top: 0.4em; margin-right: 0px; margin-bottom: 0.4em; margin-left: 0px; font-size: 1.7em; line-height: 1.25em; letter-spacing: 1px; "&gt;
	Changes&lt;/h2&gt;
&lt;h3 style="font-family: 'Trebuchet MS', Trebuchet, 'Nimbus Sans L', sans-serif; color: rgb(90, 51, 32); margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; font-size: 1.1em; line-height: 1.25em; letter-spacing: 1px; "&gt;
	Bootsplash&lt;/h3&gt;
&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "&gt;
	The bootsplash menu has been updated. Install to hard disk is now the first option, selected by default. Live system has been renamed to Try without installing. A warning message will be displayed when running in live non-persistent mode.&lt;/p&gt;
&lt;h3 style="font-family: 'Trebuchet MS', Trebuchet, 'Nimbus Sans L', sans-serif; color: rgb(90, 51, 32); margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; font-size: 1.1em; line-height: 1.25em; letter-spacing: 1px; "&gt;
	Recommended packages _not_ installed by default (APT)&lt;/h3&gt;
&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "&gt;
	This is not really a change from TurnKey Core 8.04, its actually the same configuration. The change is notable because Ubuntu (since 8.10) install recommends by default. We chose to keep the old configuration as TurnKey appliances are minimal, and only include what needs to be included. We believe this is the right decision, if you think differently, we&amp;#39;d love to hear your thoughts.&lt;/p&gt;
&lt;h3 style="font-family: 'Trebuchet MS', Trebuchet, 'Nimbus Sans L', sans-serif; color: rgb(90, 51, 32); margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; font-size: 1.1em; line-height: 1.25em; letter-spacing: 1px; "&gt;
	Byobu - Screen for human beings&lt;/h3&gt;
&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "&gt;
	While attending the Ubuntu Developer Summit (UDS) for Maverick, I was introduced to byobu by its developer - Dustin Kirkland. I found byobu much more user friendly than screen, as well as informative with its notification plugins (e.g., memory and processor usage, package upgrades, clock). We decided not only to include it in Core, but also launch it by default. Again, we&amp;#39;d love to hear your thoughts on this decision.&lt;/p&gt;
&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "&gt;
	To get you started, here are some of the keyboard shortcuts (see the manual for more info: man byobu):&lt;/p&gt;
&lt;ul style="margin-top: 1em; margin-bottom: 1em; padding-left: 30px; "&gt;
	&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;
		F2 - Create a new window&lt;/li&gt;
	&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;
		F3 - Move to previous window&lt;/li&gt;
	&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;
		F4 - Move to next window&lt;/li&gt;
	&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;
		F6 - Detach from this session&lt;/li&gt;
	&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;
		F8 - Re-title a window&lt;/li&gt;
	&lt;li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;
		F9 - Configuration Menu&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style="font-family: 'Trebuchet MS', Trebuchet, 'Nimbus Sans L', sans-serif; color: rgb(90, 51, 32); margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; font-size: 1.1em; line-height: 1.25em; letter-spacing: 1px; "&gt;
	Improved terminal&lt;/h3&gt;
&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "&gt;
	The bash configuration has been customized to included colored output (ls, grep, etc.) as well as a 2 level max prompt (e.g., instead of /usr/share/doc/foo/bar/xyz only bar/xyz will be displayed). The bash-completion package is also installed by default, which we find very useful. In addition, we have also added ~/bashrc.d support seeded with some configuration scripts, one of them being&amp;nbsp;&lt;em&gt;penv&amp;nbsp;&lt;/em&gt;which Liraz and I use all the time&lt;em&gt;,&lt;/em&gt;&amp;nbsp;more on that later...&lt;/p&gt;
&lt;h3 style="font-family: 'Trebuchet MS', Trebuchet, 'Nimbus Sans L', sans-serif; color: rgb(90, 51, 32); margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; font-size: 1.1em; line-height: 1.25em; letter-spacing: 1px; "&gt;
	Syslog upgrade&lt;/h3&gt;
&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "&gt;
	The system and kernel logging packages (sysklogd and klogd) have been replaced with rsyslog, an enhanced multi-threaded syslogd with awesome features. This change is inline with Ubuntu who made the move in Ubuntu 9.10. The Webmin syslog configuration has been tweaked accordingly.&lt;/p&gt;
&lt;h3 style="font-family: 'Trebuchet MS', Trebuchet, 'Nimbus Sans L', sans-serif; color: rgb(90, 51, 32); margin-top: 0.7em; margin-right: 0px; margin-bottom: 0.7em; margin-left: 0px; font-size: 1.1em; line-height: 1.25em; letter-spacing: 1px; "&gt;
	GRUB-PC (aka. GRUB2)&lt;/h3&gt;
&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "&gt;
	Our installer (di-live) has gone through a major upgrade and now supports GRUB-PC, a cleaner design of its predecessors with more advanced features. The default configuration has been slightly tweaked to display a timeout by default, run in console mode, and be more verbose.&lt;br /&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; "&gt;
	All other changes are available in the&amp;nbsp;&lt;a href="http://releases.turnkeylinux.org/turnkey-core/beta-lucid-x86/turnkey-core-beta-lucid-x86.changelog" style="color: rgb(152, 102, 1) !important; "&gt;changelog&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
	Features&lt;/h2&gt;
&lt;div&gt;
	&lt;ul style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;
		&lt;li&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Base distribution:&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;&lt;a href="https://lists.ubuntu.com/archives/ubuntu-announce/2010-April/000133.html" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(109, 76, 7); "&gt;Ubuntu 10.04 LTS&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Runs on bare metal in addition to most types of virtual machines (e.g., VMWare, VirtualBox, Xen HVM, KVM).&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Installable Live CD ISO:&lt;/span&gt;
			&lt;ul style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Supports&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;&lt;a href="http://code.turnkeylinux.org/di-live/docs/" rel="nofollow" style="color: rgb(152, 102, 1); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;installation&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;&amp;nbsp;to an available storage device.&lt;/span&gt;&lt;/li&gt;
				&lt;li&gt;
					Supports running in a non-persistent (demo) mode.&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;&lt;a href="/docs/automatic-security-updates" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(109, 76, 7); "&gt;Auto-updated&lt;/a&gt;&amp;nbsp;on firstboot and daily with the latest security patches.&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Easy to use&amp;nbsp;&lt;a href="http://code.turnkeylinux.org/confconsole/docs/" rel="nofollow" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(152, 102, 1); "&gt;configuration console&lt;/a&gt;:&lt;/span&gt;
			&lt;ul style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Displays basic usage information.&lt;/span&gt;&lt;/li&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Configure networking (supports multiple network interfaces).&lt;/span&gt;&lt;/li&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Reboot or shutdown appliance.&lt;/span&gt;&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Ajax web shell (&lt;a href="http://code.google.com/p/shellinabox/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(109, 76, 7); "&gt;shellinabox&lt;/a&gt;) - SSH client not required.&lt;/span&gt;&lt;/li&gt;
		&lt;li&gt;
			User friendly screen wrapper (&lt;a href="https://launchpad.net/byobu"&gt;byobu&lt;/a&gt;) launched by default on login.&lt;/li&gt;
		&lt;li&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Easy to use web management interface (&lt;a href="http://webmin.com/" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(109, 76, 7); "&gt;Webmin&lt;/a&gt;):&lt;/span&gt;
			&lt;ul style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Listens on port 12321 (uses SSL).&lt;/span&gt;&lt;/li&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Mac OS X themed.&lt;/span&gt;&lt;/li&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Network modules:&lt;/span&gt;
					&lt;ul style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Firewall configuration (with example configuration).&lt;/span&gt;&lt;/li&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Network configuration.&lt;/span&gt;&lt;/li&gt;
					&lt;/ul&gt;
				&lt;/li&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;System modules:&lt;/span&gt;
					&lt;ul style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Configure time, date and timezone.&lt;/span&gt;&lt;/li&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Configure users and groups.&lt;/span&gt;&lt;/li&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Manage software packages.&lt;/span&gt;&lt;/li&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Change passwords.&lt;/span&gt;&lt;/li&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;System logs.&lt;/span&gt;&lt;/li&gt;
					&lt;/ul&gt;
				&lt;/li&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Tool modules:&lt;/span&gt;
					&lt;ul style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Text editor.&lt;/span&gt;&lt;/li&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Shell commands.&lt;/span&gt;&lt;/li&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Simple file upload/download.&lt;/span&gt;&lt;/li&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;File manager (needs support for Java in browser).&lt;/span&gt;&lt;/li&gt;
						&lt;li&gt;
							&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Custom commands.&lt;/span&gt;&lt;/li&gt;
					&lt;/ul&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Regenerates cryptographic keys on first boot:&lt;/span&gt;
			&lt;ul style="margin-top: 0.5em; margin-right: 0px; margin-bottom: 0.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; "&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;SSL certifcate used by webmin, apache2, lighttpd -&amp;nbsp;&lt;em style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;/etc/ssl/certs/cert.pem.&lt;/em&gt;&lt;/span&gt;&lt;/li&gt;
				&lt;li&gt;
					&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;SSH keys.&lt;/span&gt;&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;
			&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Console auto login when running in live/demo mode.&lt;/span&gt;&lt;/li&gt;
	&lt;/ul&gt;
	&lt;div class="credentials" style="margin-top: 1em; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 15px; padding-right: 15px; padding-bottom: 15px; padding-left: 15px; border-top-width: 1px; border-top-style: dashed; border-top-color: rgb(230, 230, 230); border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: rgb(230, 230, 230); "&gt;
		&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;Default credentials (for Webmin and SSH):&lt;/span&gt;
		&lt;ul style="margin-top: 1em; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 30px; list-style-type: none; list-style-position: initial; list-style-image: initial; "&gt;
			&lt;li style="margin-top: 0em; margin-right: 0px; margin-bottom: 0em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;
				&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;username&amp;nbsp;&lt;strong style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;root&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
			&lt;li style="margin-top: 0em; margin-right: 0px; margin-bottom: 0em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "&gt;
				&lt;span class="Apple-style-span" style="line-height: 19px; "&gt;no password (user sets password during installation)&lt;/span&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;
	Call for testing and feedback&lt;/h2&gt;
&lt;p&gt;
	We need your help in testing the beta releases, and your feedback to make the official release rock! What are you waiting for, get it &lt;a href="http://www.turnkeylinux.org/download?file=turnkey-core-beta-lucid-x86.iso"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;!--
&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"&gt;
&lt;rdf:Description rdf:about="http://www.turnkeylinux.org/blog/core-lucid-beta" dc:identifier="http://www.turnkeylinux.org/blog/core-lucid-beta" dc:title="Beta of TurnKey Core on Ubuntu 10.04 LTS" trackback:ping="http://www.turnkeylinux.org/trackback/1325" /&gt;
&lt;/rdf:RDF&gt;
--&gt;&lt;img src="http://feeds.feedburner.com/~r/turnkeylinux-blog/~4/Q3cIT7DTPfA" height="1" width="1"/&gt;</description>
     <comments>http://www.turnkeylinux.org/blog/core-lucid-beta#comments</comments>
 <category domain="http://www.turnkeylinux.org/blog/beta">beta</category>
 <category domain="http://www.turnkeylinux.org/blog/core">core</category>
 <category domain="http://www.turnkeylinux.org/news">news</category>
 <category domain="http://www.turnkeylinux.org/blog/ubuntu">ubuntu</category>
 <pubDate>Wed, 16 Jun 2010 12:00:19 +0000</pubDate>
 <dc:creator>Alon Swartz</dc:creator>
 <guid isPermaLink="false">1325 at http://www.turnkeylinux.org</guid>
  <feedburner:origLink>http://www.turnkeylinux.org/blog/core-lucid-beta</feedburner:origLink></item>
  </channel>
</rss>
