<?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>Principia Labs &#187; computers</title>
	<atom:link href="http://principialabs.com/tag/computers/feed/" rel="self" type="application/rss+xml" />
	<link>http://principialabs.com</link>
	<description>design, build, test, iterate.</description>
	<lastBuildDate>Sat, 13 Feb 2010 17:51:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>NetHogs: Bandwidth Stats by Process</title>
		<link>http://principialabs.com/nethogs-bandwidth-stats-by-process/</link>
		<comments>http://principialabs.com/nethogs-bandwidth-stats-by-process/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 17:27:31 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://principialabs.com/?p=196</guid>
		<description><![CDATA[Have you ever been messing around on your Ubuntu box, only to notice some sluggishness or some suspicious spikes in your internet connection, and wondered, &#8220;What the hell is using up all that bandwidth?&#8221;  Or worse, &#8220;Have I been hacked?&#8221;  If so, then NetHogs might be the program for you.



NetHogs is a lightweight [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever been messing around on your Ubuntu box, only to notice some sluggishness or some suspicious spikes in your internet connection, and wondered, &#8220;What the hell is using up all that bandwidth?&#8221;  Or worse, &#8220;Have I been hacked?&#8221;  If so, then <a href="http://nethogs.sourceforge.net/">NetHogs</a> might be the program for you.</p>

<div style="text-align: center;"><a href="http://nethogs.sourceforge.net/" target="_blank" style="background: none;"><img src="http://principialabs.com/wp-content/uploads/nethogs.png" alt="NetHogs" title="NetHogs" width="484" height="345" class="aligncenter size-full wp-image-197" /></a></div>

<p>NetHogs is a lightweight Linux terminal-based tool that monitors bandwidth usage, then groups it <em>by process</em>, so you can see which PIDs are using the most bandwidth, and if necessary, kill them with System Monitor.</p>

<p>To install NetHogs on Ubuntu (tested on 9.10 Karmic), you can either use Synaptic or simply <code>apt-get</code>, like so:</p>

<pre><code>sudo apt-get install nethogs
</code></pre>

<p>To run NetHogs, simply feed it the internet connection you wish to examine, and sit back.</p>

<pre><code>sudo nethogs eth0
</code></pre>

<p>For more information and the full list of options, visit the NetHogs man page.</p>

<pre><code>man nethogs
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://principialabs.com/nethogs-bandwidth-stats-by-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bootsplash Resolution in Kubuntu</title>
		<link>http://principialabs.com/bootsplash-resolution-in-kubuntu/</link>
		<comments>http://principialabs.com/bootsplash-resolution-in-kubuntu/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 15:11:16 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://principialabs.com/?p=66</guid>
		<description><![CDATA[One of the annoying little setup items on my list of things to do every time I reinstall Kubuntu is changing the bootsplash screen resolution from 800&#215;600 to something more appropriate for my monitor, specifically, 1280&#215;1024. Here&#8217;s how it&#8217;s done:

sudo nano /etc/usplash.conf


The file should be altered to read:

# Usplash configuration file
# These parameters will only [...]]]></description>
			<content:encoded><![CDATA[<p>One of the annoying little setup items on my list of things to do every time I reinstall Kubuntu is changing the bootsplash screen resolution from 800&#215;600 to something more appropriate for my monitor, specifically, 1280&#215;1024. Here&#8217;s how it&#8217;s done:</p>

<pre><code>sudo nano /etc/usplash.conf
</code></pre>

<p>The file should be altered to read:</p>

<pre><code># Usplash configuration file
# These parameters will only apply after running update-initramfs.

xres=1280
yres=1024
</code></pre>

<p>The final step is to update <code>initramfs</code>, the initial RAM disk used by the kernel when Linux first boots up:</p>

<pre><code>sudo update-initramfs -u
</code></pre>

<p>If you skip the last step, you will probably only see your new <code>usplash</code> resolution during shutdown and not when your computer boots up.</p>

<p>That&#8217;s it!</p>
]]></content:encoded>
			<wfw:commentRss>http://principialabs.com/bootsplash-resolution-in-kubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why I Use Linux</title>
		<link>http://principialabs.com/why-i-use-linux/</link>
		<comments>http://principialabs.com/why-i-use-linux/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 03:11:39 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://principialabs.com/why-i-use-linux-a-love-story/</guid>
		<description><![CDATA[

My first computer was an Apple IIc.  I was thirteen years old and, at that age, it was one of the most beautiful things I had ever seen.  It had a gorgeous, green-on-black display screen, 128KB of RAM, no hard disk, and a Slim-line internal 5.25&#8243; floppy drive into which you loaded whatever [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://principialabs.com/wp-content/uploads/apple-iic.jpg' title='Apple IIc'><img style="float: right; padding-left: 7px;" src='http://principialabs.com/wp-content/uploads/apple-iic.thumbnail.jpg' alt='Apple IIc' /></a></p>

<p>My first computer was an <a href="http://en.wikipedia.org/wiki/Apple_IIc">Apple IIc</a>.  I was thirteen years old and, at that age, it was one of the most beautiful things I had ever seen.  It had a gorgeous, green-on-black display screen, 128KB of RAM, no hard disk, and a Slim-line internal 5.25&#8243; floppy drive into which you loaded whatever version of <a href="http://en.wikipedia.org/wiki/Zork">Zork</a> you were in the mood for, and fired it up. All software was written in Applesoft BASIC, and although there was no official term for it at the time, everything was <a href="http://en.wikipedia.org/wiki/Open_source">open source</a>.</p>

<p>A simple Ctrl-C (or some such keystroke) was all that was required to break the flow of whatever program you were running and take a peek under the hood.  I wrote my first computer program on the IIc.  There might have been limits to what that little machine could do, but there were no restrictions.  If you could imagine it, you could build it, and if you didn&#8217;t know quite <em>how</em> to build it, you just found someone else&#8217;s program that did something close, and figured out how <em>they</em> had done it.  The Apple IIc was more than a tool, it was a teacher.</p>

<p>In college I used PCs and Macs, none of which I owned, of course &#8212; it just wasn&#8217;t expected in those days &#8212; and I reluctantly deciphered the library&#8217;s Unix terminals for the sole purpose of emailing friends with <a href="http://en.wikipedia.org/wiki/Pine_(e-mail_client)">Pine</a>.  Until my junior year, by which time I was accustomed to using the university&#8217;s computer labs for my paper-writing and other needs, I kept that old Apple IIc around, with a dot-matrix printer, just in case.</p>

<p>It wasn&#8217;t until after graduation that I could finally afford (almost) to purchase my own computer.  After buying and returning a couple of defective laptop PCs from a big box electronics retailer, I finally decided to go back to Apple, and I sprung for a <a href="http://en.wikipedia.org/wiki/PowerBook_G3">Powerbook G3</a>.  It was beautiful, and it was definitely a Mac, but something was missing.</p>

<p><span id="more-50"></span></p>

<p>By this time, of course, Apple had come a long way in user interface design.  The G3 ran MacOS 8, so it wasn&#8217;t without flaws, but it was intuitive, easy to use, and gorgeous.  <a href="http://diveintomark.org/archives/2006/06/02/when-the-bough-breaks">Only it wasn&#8217;t mine</a>.  It was Apple&#8217;s.  As long as what I wanted to do was what Apple wanted me to do, things were fine.  But as soon as I started thinking out of the box &#8230; well, it just wasn&#8217;t right.  It wasn&#8217;t the IIc.</p>

<p>A few years later, after doing the obligatory post-college drift for awhile, I went to flight school.  By then the G3 was nearly obsolete, but there was no money for anything new, and anyway a computer wasn&#8217;t a requirement for my new pursuit.  But one night, while grilling burgers in the muggy Florida evening, a friend of mine offered to give me an old Dell desktop, complete with keyboard and VGA monitor.  &#8220;It doesn&#8217;t work,&#8221; he said.  &#8220;It&#8217;ll turn on, but nothing shows up on the screen.  Anyway, I just bought a new one, so if you want it, it&#8217;s yours.&#8221;</p>

<p>And there it was:  my first project box.  A discarded old beige tower that probably didn&#8217;t work anyway.  There was little I could do to make it any less useful than it already was, so I took it.  I felt no pressure, no fear.  It wasn&#8217;t an appliance, it was junk, and I could experiment with it all I wanted.  I gambled that a cheap video card was all it would need to be back in shape, and I was right.</p>

<p>But once I had ripped the insides apart, and learned all I could from it, the fun stopped.  So I got it to run Windows 95 again, so what?  There was no magic in running Microsoft Word.  The project box sat idle.</p>

<p>And then I discovered Linux.</p>

<p>It was Red Hat Linux 7, to be exact, in CD format, from the back of a loaned copy of a <em>For Dummies</em> book, written by none other than Jon &#8216;maddog&#8217; Hall himself.  I wiped Windows from the hard disk and installed Linux for the first time.</p>

<p>The old Dell box was lacking a bit in the memory department, and it ran the Red Hat GUI a little slow, so I decided to configure it to boot to the command line.  Suddenly there it was:  the text interface on a black screen &#8212; the characters were white, but they might as well have been green, and that blinking cursor that awaited my command &#8212; I was back in my parents&#8217; basement, on the IIc, thirteen years old.  The World was inside that box, and it was mine to explore.</p>

<p>A few years, a new Windows laptop, and several project boxes later, I tried <a href="http://www.ubuntu.com/">Ubuntu</a>, a new flavor of Linux that showed promise as a truly useful, user-friendly OS.  Again there was no pressure, no fear, just a learning curve &#8212; only as steep as I wanted it to be &#8212; and there was Linux, the teacher.  I was hooked.  My &#8220;project&#8221; box became my primary computer, and when its hardware became too outdated to warrant patching up, I built a high-end AMD64 box from the ground up, specifically to run Linux.</p>

<p>Now, that computer, running Kubuntu 7.10, is my primary electronic tool, and my laptop sits mostly idle.  It&#8217;s as slick a system as anything I could ever want, and the best part is, I <em>own</em> it.  I run it.  I control it.  And I understand it, because I built it.  I use Linux for all the same reasons everyone else does: stability, security, freedom, exclusivity, variety &#8212; but mostly I use Linux because it&#8217;s like my old Apple IIc, and because it made me love computers again.</p>
]]></content:encoded>
			<wfw:commentRss>http://principialabs.com/why-i-use-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Get Rid of the Bouncing Busy Cursor in Kubuntu</title>
		<link>http://principialabs.com/get-rid-of-the-bouncing-busy-cursor-in-kubuntu/</link>
		<comments>http://principialabs.com/get-rid-of-the-bouncing-busy-cursor-in-kubuntu/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 20:13:06 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://principialabs.com/get-rid-of-the-bouncing-busy-cursor-in-kubuntu/</guid>
		<description><![CDATA[Here&#8217;s how to get rid of that annoying &#8220;Busy Cursor&#8221; bouncing icon next to the mouse pointer in Kubuntu.

(1)  Press Alt+F2 to bring up the Run Command dialog box.

(2)  Type kcontrol and click Run.

(3)  Select &#8220;Appearance &#38; Themes&#8221; from the left sidebar menu.

(4)  Select &#8220;Launch Feedback&#8221; from the sub-menu.

(5)  In [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s how to get rid of that annoying &#8220;Busy Cursor&#8221; bouncing icon next to the mouse pointer in Kubuntu.</p>

<p>(1)  Press Alt+F2 to bring up the Run Command dialog box.</p>

<p>(2)  Type <code>kcontrol</code> and click Run.</p>

<p>(3)  Select &#8220;Appearance &amp; Themes&#8221; from the left sidebar menu.</p>

<p>(4)  Select &#8220;Launch Feedback&#8221; from the sub-menu.</p>

<p>(5)  In the &#8220;Busy Cursor&#8221; box, select &#8220;No Busy Cursor&#8221; from the drop down menu.</p>

<p>That&#8217;s it!  Banished for good!</p>
]]></content:encoded>
			<wfw:commentRss>http://principialabs.com/get-rid-of-the-bouncing-busy-cursor-in-kubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Setting Up Kubuntu &quot;Gutsy&quot;</title>
		<link>http://principialabs.com/setting-up-kubuntu-gutsy/</link>
		<comments>http://principialabs.com/setting-up-kubuntu-gutsy/#comments</comments>
		<pubDate>Tue, 23 Oct 2007 19:01:49 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://principialabs.com/setting-up-kubuntu-gutsy/</guid>
		<description><![CDATA[
After a fresh install of Kubuntu 7.10 &#8220;Gutsy Gibbon,&#8221; there are a few extra tasks necessary to get everything set up and running smoothly, especially when it comes to multimedia support and internet tools.  This short tutorial will allow you to quickly enable some of the features missing in a vanilla installation.

The goal of [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/files/kubuntu_logo.png" alt="Kubuntu" style="float: right; padding-left: 7px;" />
<p>After a fresh install of Kubuntu 7.10 &#8220;Gutsy Gibbon,&#8221; there are a few extra tasks necessary to get everything set up and running smoothly, especially when it comes to multimedia support and internet tools.  This short tutorial will allow you to quickly enable some of the features missing in a vanilla installation.</p></p>

<p>The goal of this process is speed of setup, so I&#8217;ll use terminal commands rather than the more-familiar graphical menu, however I will make an effort to keep things simple and straightforward.  Comments are welcome.  (You might want to read all the way to the end before jumping into the commands.)</p>

<p><span id="more-31"></span></p>

<p><b>(1) Add the Mediabuntu Repositories.</b>  This will give you access to some of the restricted plugins and libraries below.  Open a terminal (Applications> System> Konsole) and paste the following code, hitting &#8220;Enter&#8221; after each one.</p>

<pre>
sudo wget http://www.medibuntu.org/sources.list.d/gutsy.list -O /etc/apt/sources.list.d/medibuntu.list
</pre>

<p>Then, add the GPG key:</p>

<pre>
wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add - &#038;&#038; sudo apt-get update
</pre>

<p><b>(2) Enable Multimedia Support.</b> Install all  plugins and libraries for restricted formats such as DVD, MP3, WMV, MOV, AVI.  Open a terminal and paste the following code:</p>

<pre>
sudo apt-get install kubuntu-restricted-extras libdvdcss2 libdvdread3 libdvdnav4 w32codecs gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly libgstreamer0.10-0 libgstreamer-plugins-base0.10-0
</pre>

<p><b>(3) Get Firefox.</b>  <a href="http://www.mozilla.com/en-US/firefox/features.html">Take Back the Web</a> with the best browser on the planet.  Includes the Flash and Java plugins, and two Firefox Add-ons: Greasemonkey and Web Developer. (Just remove the last three packages if you don&#8217;t want the Add-ons.</p>

<pre>
sudo apt-get install firefox mozilla-firefox-locale-en-gb flashplugin-nonfree sun-java6-plugin firefox-greasemonkey firefox-dom-inspector firefox-webdeveloper
</pre>

<p><p><b>(4) Install Pidgin.</b>  <a href="http://www.pidgin.im/">Pidgin</a> is a multi-protocol instant messaging client that I happen to like better than Kopete.  The code below includes a package of additional plugins, including OTR (Off The Record messaging).</p>

<pre>
sudo apt-get install pidgin pidgin-otr pidgin-plugin-pack
</pre>

<p><b>(5) Bring out the GIMP.</b>  The <a href="http://www.gimp.org/">GNU Image Manipulation Program</a> may not be Photoshop, but it&#8217;s damn close.  And, oh yeah, it&#8217;s <i>free</i>.  You need it:</p>

<pre>
sudo apt-get install gimp
</pre>

<p><b>(6) Add Microsoft TrueType Fonts.</b>  By default, Kubuntu doesn&#8217;t enable support for fonts like Arial, Verdana, Trebuchet and Times New Roman.  Get them here:</p>

<pre>
sudo apt-get install msttcorefonts &#038;&#038; sudo fc-cache -fv
</pre>

<p><b>The Whole Shebang.</b>  Lazy?  Me too.  Accomplish ALL of the above in One Swift Stroke:  (cross your fingers)</p>

<pre>
sudo wget http://www.medibuntu.org/sources.list.d/gutsy.list -O /etc/apt/sources.list.d/medibuntu.list &#038;&#038; wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add - &#038;&#038; sudo apt-get update &#038;&#038; sudo apt-get install kubuntu-restricted-extras libdvdcss2 libdvdread3 libdvdnav4 w32codecs gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly libgstreamer0.10-0 libgstreamer-plugins-base0.10-0 firefox mozilla-firefox-locale-en-gb flashplugin-nonfree sun-java6-plugin firefox-greasemonkey firefox-dom-inspector firefox-webdeveloper pidgin pidgin-otr pidgin-plugin-pack gimp msttcorefonts &#038;&#038; sudo fc-cache -fv
</pre>
]]></content:encoded>
			<wfw:commentRss>http://principialabs.com/setting-up-kubuntu-gutsy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL Command Reference</title>
		<link>http://principialabs.com/mysql-command-reference/</link>
		<comments>http://principialabs.com/mysql-command-reference/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 20:48:50 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://principialabs.com/mysql-command-reference/</guid>
		<description><![CDATA[Login to MySQL:

~$ mysql -u username -p

Create a database:

create database db_name;



Delete a database:

drop database db_name;

List all databases:

show databases;

Select a database:

use db_name;

List tables of current database:

show tables;

List fields of a table:

describe table_name;

Table query structure:

select * from table_name where id = "5" 

Export a MySQL Database:

~$ mysqldump -u username -p db_name > FILE.sql 

Import a MySQL Database:

~$ [...]]]></description>
			<content:encoded><![CDATA[<p>Login to MySQL:</p>

<p><pre>~$ mysql -u username -p</pre></p>

<p>Create a database:</p>

<p><pre>create database db_name;</pre></p>

<p><span id="more-30"></span></p>

<p>Delete a database:</p>

<p><pre>drop database db_name;</pre></p>

<p>List all databases:</p>

<p><pre>show databases;</pre></p>

<p>Select a database:</p>

<p><pre>use db_name;</pre></p>

<p>List tables of current database:</p>

<p><pre>show tables;</pre></p>

<p>List fields of a table:</p>

<p><pre>describe table_name;</pre></p>

<p>Table query structure:</p>

<p><pre>select * from table_name where id = "5" </pre></p>

<p>Export a MySQL Database:</p>

<p><pre>~$ mysqldump -u username -p db_name > FILE.sql </pre></p>

<p>Import a MySQL Database:</p>

<p><pre>~$ mysql -u username -p db_name &lt; FILE.sql </pre></p>
]]></content:encoded>
			<wfw:commentRss>http://principialabs.com/mysql-command-reference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pretty URLs: Enabling mod_rewrite on Ubuntu</title>
		<link>http://principialabs.com/pretty-urls-enabling-mod_rewrite-on-ubuntu/</link>
		<comments>http://principialabs.com/pretty-urls-enabling-mod_rewrite-on-ubuntu/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 19:40:56 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://principialabs.com/pretty-urls-enabling-mod_rewrite-on-ubuntu/</guid>
		<description><![CDATA[Pretty URLs are URLs that have meaning for human readers, rather than just being seemingly random jibberish only a web server could appreciate.  The following is an example of a &#8220;pretty&#8221; URL:



http://my.blog.com/archive/2007/10/pretty-urls



Note that every part of the URL is relevant for a human reader.  For comparison, here&#8217;s an example of an &#8220;ugly&#8221; URL:


http://www.mysite.com/nuke/modules.php?name=Forums&#38;file=posting&#38;mode=quote&#38;p=14488&#38;sid=0293840293840577





To [...]]]></description>
			<content:encoded><![CDATA[<p>Pretty URLs are URLs that have meaning for human readers, rather than just being seemingly random jibberish only a web server could appreciate.  The following is an example of a &#8220;pretty&#8221; URL:</p>

<pre>

http://my.blog.com/archive/2007/10/pretty-urls

</pre>

<p>Note that every part of the URL is relevant for a human reader.  For comparison, here&#8217;s an example of an &#8220;ugly&#8221; URL:
<pre>

http://www.mysite.com/nuke/modules.php?name=Forums&amp;file=posting&amp;mode=quote&amp;p=14488&amp;sid=0293840293840577

</pre></p>

<p><span id="more-29"></span></p>

<p>To enable the mod_rewrite module in Apache2 on Ubuntu:</p>

<p>(1) Add the rewrite.load to /etc/apache2/mods-enabled/</p>

<pre><code>sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/
</code></pre>

<p>(2) Edit the apache configuration for your virtual hosting (/var/www/):</p>

<pre><code>sudo nano /etc/apache2/sites-enabled/000-default
</code></pre>

<p>(3) Change the AllowOverride value to &#8220;All&#8221; for the document root directory:</p>

<pre><code>&lt;directory /var/www/&gt;
  Options Indexes FollowSymLinks MultiViews
  AllowOverride All
  Order allow,deny
  allow from all
  # This directive allows us to have apache2's default start page
  # in /apache2-default/, but still have / go to the right place
  # Commented out for Ubuntu
  #RedirectMatch ^/$ /apache2-default/
&lt;/directory&gt;
</code></pre>

<p>(4) Restart the server:</p>

<pre><code>sudo /etc/init.d/apache2 restart
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://principialabs.com/pretty-urls-enabling-mod_rewrite-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Web Development on Ubuntu</title>
		<link>http://principialabs.com/web-development-on-ubuntu/</link>
		<comments>http://principialabs.com/web-development-on-ubuntu/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 19:31:03 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://principialabs.com/web-development-on-ubuntu/</guid>
		<description><![CDATA[If you want to build dynamic websites, one of the first things you&#8217;ll need to do is set up a development environment your local computer, so you can experiment and test new code without uploading everything to a remote web server.  In a nutshell, this means LAMP &#8212; Linux, Apache, MySQL and PHP.

With this [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to build dynamic websites, one of the first things you&#8217;ll need to do is set up a development environment your local computer, so you can experiment and test new code without uploading everything to a remote web server.  In a nutshell, this means LAMP &#8212; Linux, Apache, MySQL and PHP.</p>

<p>With this setup, you&#8217;ll be primed and ready to go to run popular content management software on your local box&#8211;like <a href="http://drupal.org/">Drupal</a>, <a href="http://www.joomla.org/">Joomla</a> or <a href="http://www.silverstripe.com/">Silverstripe</a>; start a <a href="http://wordpress.org/">Wordpress</a> or <a href="http://www.textpattern.com/">Textpattern</a> blog; or even roll your own community site from scratch using a hot framework like <a href="http://www.cakephp.org/">CakePHP</a>.</p>

<p><span id="more-28"></span></p>

<p>(If you&#8217;re just getting started with web design, it&#8217;s a good idea to check out the tutorials at <a href="http://www.w3schools.com/">w3schools.com</a>, although you don&#8217;t have to know a single line of code to install a well-designed product like Wordpress.)</p>

<p>This short tutorial assumes you&#8217;ve already installed some version of Ubuntu on your computer (&#8211;that takes care of the &#8220;Linux&#8221; part&#8211;), and leads you through installing an Apache web server, the PHP scripting language, and a MySQL database server.</p>

<p>(These instructions were tested on Kubuntu 7.10 &#8220;Gutsy.&#8221;)</p>

<p><strong>(1) Install everything.</strong>  Open a terminal and paste the following code, which will grab Apache, PHP, and MySQL all at once.  That was easy.</p>

<pre>
sudo apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server
</pre>

<p><strong>(2) Test Apache.</strong>  Once installed, the Apache web server should be running.  To find out for sure, open up a browser and enter <code>http://localhost/</code> in the URL field.  You should see something like this:</p>

<p><img src="/files/apache1.jpg" alt="Apache2" /></p>

<p>If you click on the <code>apache2-default/</code> folder, you should see a message that says, &#8220;It works!&#8221;  If instead of seeing the above, you get some sort of &#8220;Unable to connect&#8221; message, then the server is not running.</p>

<p>Try restarting Apache, then repeat step two:</p>

<pre>
sudo /etc/init.d/apache2 restart
</pre>

<p><strong>(3) Enable PHP.</strong> Open a terminal and paste the following code, which will enable support for the PHP module in Apache&#8217;s configuration file:</p>

<pre>
sudo ln -s /etc/apache2/mods-available/php5.load /etc/apache2/mods-enabled/
</pre>

<p>Now, restart the Apache server (so the new module will take effect).</p>

<pre>
sudo /etc/init.d/apache2 restart
</pre>

<p><strong>(4) Learn PHP.  Quick.</strong>  Create your first PHP script to test that the new module works.  Open a terminal and paste the following code:</p>

<pre>
sudo nano /var/www/phpinfo.php
</pre>

<p>Whoa! What happened?  Never used <a href="http://www.nano-editor.org/docs.php">nano</a> before?  It&#8217;s a simple terminal-based text editor.  Check out the keyboard shortcut commands at the bottom of the screen.  You&#8217;ll figure it out.</p>

<p>Here&#8217;s the code to paste into nano:
<pre>
&lt;?php
  phpinfo();
?&gt;
</pre></p>

<p>Don&#8217;t forget to save the file using Ctrl-O and then exit with Ctrl-X.  Are we having <em>fun</em> yet?!</p>

<p><strong>(5) Test PHP.</strong>   Jump back over to the browser and reload the <code>localhost</code> page.  You should see your new <code>phpinfo.php</code> file in there.  Hey cool; we learned something: The Apache web root is located at <code>/var/www</code>, so any PHP files you save in there will be parsed by the server&#8217;s PHP engine.</p>

<p>Anyway, click on your new file.  You should see some variant of this:</p>

<p><img src="/files/php.jpg" alt="PHP" /></p>

<p>Great!  We&#8217;re in.</p>

<p><strong>(6) Test MySQL.</strong>  This should already be installed and running, if step one went as planned.  You should have already created a root username and password.  If that&#8217;s the case, then just open a terminal and type:</p>

<pre>
mysql -u root -p
</pre>

<p>You&#8217;ll be prompted for the password you created earlier, and then you should see something like this:</p>

<pre type="text">
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 26
Server version: 5.0.45-Debian_1ubuntu3-log Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
</pre>

<p>Done!  That&#8217;s it.  You&#8217;re all set up.  Check out the <a href="/mysql-command-reference">MySQL Command Reference</a> for a few things to try in the monitor, if you like.  Now you&#8217;re ready to start building your first dynamic website.</p>

<p>Fortunately, that&#8217;s another tutorial.</p>
]]></content:encoded>
			<wfw:commentRss>http://principialabs.com/web-development-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>USBuntu: Installing Kubuntu on a USB drive</title>
		<link>http://principialabs.com/usbuntu-installing-kubuntu-on-a-usb-drive/</link>
		<comments>http://principialabs.com/usbuntu-installing-kubuntu-on-a-usb-drive/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 20:17:38 +0000</pubDate>
		<dc:creator>Pinsky</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://principialabs.com/usbuntu-installing-kubuntu-on-a-usb-drive/</guid>
		<description><![CDATA[Making the commitment to partition your precious laptop&#8217;s hard disk in order to install the Ubuntu Linux operating system is not always an easy thing to do.  This tutorial will describe in detail how to install Kubuntu on a removable 4GB USB flash drive, and configure the bootloader to boot Linux whenever the drive [...]]]></description>
			<content:encoded><![CDATA[<p>Making the commitment to partition your precious laptop&#8217;s hard disk in order to install the Ubuntu Linux operating system is not always an easy thing to do.  This tutorial will describe in detail how to install Kubuntu on a removable 4GB USB flash drive, and configure the bootloader to boot Linux whenever the drive is connected.</p>

<div style="text-align:center;">
  <img src="/files/usbuntu.jpg" alt="USBuntu" />
</div>

<p>Lately I have been fooling around with Kubuntu on a desktop computer and I really wanted to use it on my laptop.  However, I was
hesitant to partition my hard drive because I have a lot of documents and pictures and software that I would hate to lose in the event something went wrong.  Additionally, I don&#8217;t have a tremendous amount of free space on my hard drive to devote to another operating system.  So I decided to try to install Kubuntu on a USB flash drive.</p>

<p><span id="more-25"></span></p>

<p>I found some posts in the Ubuntu forums that helped
figure out how to make installing Kubuntu to a USB drive possible; <a href="http://ubuntuforums.org/showthread.php?t=80811">this one was the
most helpful</a>.
It&#8217;s very thorough and the thread covers many issues that arise
with different hardware configurations. My experience was slightly
different than what the post describes so I will detail the steps I
took to install Kubuntu on a USB drive.</p>

<p>First off, my laptop is a Dell E1405, and the USB drive I used is the <a href="http://www.sandisk.com/Products/Item(1925)-SDCZ6-4096-A10-SanDisk_Cruzer_Micro_4GB_Black.aspx">SanDisk Cruzer 4Gb</a>
which periodically goes on sale for a little less than 40 bucks. I
think the write speed is slow but it has a nice orange light which will
dazzle you while you wait. The 2 Gb version will work, but I had to do
a lot of software removal to make it happen (I will be testing Xubuntu
on the 2Gb drive in the near future). I highly recommend just using 4Gb
or more.</p>

<p>Secondly, I&#8217;m still relatively new to Linux. This certainly isn&#8217;t the be-all-end-all tutorial, and I can&#8217;t guarantee that these steps will work on hardware other than Dell&#8217;s E1405 with an Intel Pro
wireless card, or the San Disk Cruzer USB drive.</p>

<h4>Preparing the USB Drive</h4>

<p>Before you do any thing else. Uninstall <strong>ALL</strong> of the software that
comes pre-installed on the USB drive. When you plug in the USB drive
SanDisk U3 software automatically loads. Use the icon in the system
tray to find the uninstall feature. It is a bit hidden and I don&#8217;t
remember exactly what tab it is under. It might require a right click.
After I uninstalled U3 I also re-formatted the drive, not sure if it is
necessary.</p>

<h4>Getting Kubuntu</h4>

<p>Head over to the <a href="http://www.kubuntu.org/download.php#latest">Kubuntu download page</a>  and download the Feisty Fawn 7.04 Live CD and the Alternate install CD. There is a <a href="https://help.ubuntu.com/community/BurningIsoHowto">Ubuntu Documentation</a> page that will tell you how to burn the files on to a CD to make a bootable .ISO image using the <a href="http://infrarecorder.sourceforge.net/">Infra Recorder</a>
software. (The Live CD is not part of the actual install process but it
is helpful in determining what you computer calls the devices that we
will be installing Kubuntu on. It is also nice to have around for
future use.)
After your CDs are burned make sure to take them out of the CD drive.
You should then restart your computer and enter the BIOS Setup page as
your computer restarts. Verify that your computer will boot in the
order of CD, USB, then Hard Drive.</p>

<h4>Finding Your USB (Device Node) Name</h4>

<p>Insert the Live CD and exit the BIOS. The live CD takes a little while
to load. Once you are on the Kubuntu Desktop, plug in your USB device.
You can find the device node by putting the mouse pointer over the
device icon or by using the system menu icon, the second icon from the
left on the bottom panel menu, and select &#8220;Storage Media.&#8221; In the Storage
Media expanded menu you can see the internal drive and the USB drive.
Write down the name. On my Dell E1405 the USB drive is listed as
<code>/dev/sdb</code> and the hard drive as <code>/dev/sda</code> with the various drive
partitions numbered like <code>/dev/sda2</code>. So I know that I will be doing all of
my installing to sdb and NOT my internal drive sda. Other computers use
device nodes like hda or hdb.</p>

<h4>Installation</h4>

<p>When you are ready to install, log out and get the Live CD out of the
tray. When you restart the computer, enter the BIOS and insert the
Alternate Install CD. Exit the BIOS. The Install Menu screen be present
now.</p>

<p>The “Install in Text Mode” is the first option. Select it for a normal
install. I&#8217;ll just walk through my notes here and what I remember the
installer asking and the choices I made. IMPORTANT: Be careful not to
install GRUB Loader to the Master Boot Record!  This step comes after the
timezone and username selections.</p>

<ul>
<li><p><strong>Choose your Language and Country.</strong></p></li>
<li><p><strong>Detect keyboard layout.</strong> For US keyboards select “No” then select Origin&#8211;&gt;U.S. English and Layout &#8211;&gt;U.S. English.</p></li>
<li><p><strong>Network configuration.</strong>  If you are not connected to a network you
can hit “Cancel” or if a network is not present select “Configure
later”</p></li>
<li><p><strong>Hostname.</strong> Choose a name for your computer.</p></li>
<li><p><strong>Partition Disks.</strong> Select “Guided &#8211; use entire disk.” Select your USB drive. It should show a description of your USB drive and include the device node that you found earlier (e.g. <code>sdb</code>). <em>Do NOT</em> choose your internal drive!</p></li>
<li><p><strong>Finish Partitions and write changes.</strong> Write to disk&#8211;&gt; yes</p></li>
<li><p><strong>Choose Timezone</strong></p></li>
<li><p><strong>Choose Username, Username Account, and Password.</strong></p></li>
</ul>

<div class="help">
<strong>READ THIS:</strong>  The GRUB Boot Loader wants to install next. DO NOT install to MASTER BOOT RECORD. Select NO. If you do not select “NO” GRUB will install to
your hard drive.
</div>

<ul>
<li><strong>Write in your USB device node.</strong>  Once again, mine was: <code>/dev/sdb</code>.  (The text says you could use (<code>sdb</code>) instead of <code>/dev/sdb</code> but the installer didn&#8217;t like when I tried it that way.)</li>
</ul>

<h4>Configuring the GRUB Bootloader</h4>

<p>Your installation should now be complete.  Be sure to eject the disk before you shut down your computer.
When you start up again you will have to do some editing in the GRUB
menu. GRUB is looking at the wrong drive to boot so we need to tell it
to look at the correct drive. This editing is temporary for this start
up only.</p>

<p>When the GRUB menu appears, use an arrow key to move the line selection
so that the automatic start up timer stops. If you missed the timer the
system will try to boot and will give you some sort of Error 17 message
about invalid partitions or something. The ESC key should bring you
back to the GRUB menu.</p>

<p>Select the first line in the grub menu “Ubuntu Kernel&#8230;.”
Type &#8216;e&#8217; to edit.</p>

<p>In the next menu  select the first line <code>Root  (hd1,0)</code>.
Type &#8216;e&#8217; to edit.</p>

<p>Use the arrows and back space to edit the line
<code>grub edit&gt; root (hd1,0)</code> to read  <code>grub edit&gt; root (hd0,0)</code></p>

<p>Hit the ENTER key to make the change and you will be directed back to the previous menu.</p>

<p>Now hit “b” to boot Kubuntu!</p>

<p>You can make this boot change permanent by entering the terminal
from Kmenu-&gt; System-&gt; Konsole(Terminal Program)</p>

<p><strong>Editing GRUB menu.lst</strong></p>

<p>On my first attempt at installing Kubuntu on a USB I edited the <code>menu.lst</code> to make the
permanent change. It works fine until you do a kernel update. In my latest attempt I have not permanently edited the file and I have not done a kernel update.</p>

<p>To edit type:</p>

<pre><code>sudo nano /boot/grub/menu.lst
</code></pre>

<p>Use the arrow keys to navigate down until you see this just past the line that reads</p>

<pre><code>## ## End Default Options ##

title           Ubuntu, kernel 2.6.20-15-generic
root            (hd1,0)

kernel/boot/vmlinuz-2.6.20-15-genericroot=UUID=75660762-f5cf-4b5d-97$
initrd          /boot/initrd.img-2.6.20-15-generic
quiet

savedefault
</code></pre>

<p>change  <code>root   (hd1,0)</code> to <code>(hd0,0)</code>
make this change for the recovery mode “title Ubuntu, kernel
2.6.20-15-generic (recovery mode)” and memtest “title Ubuntu,
memtest86+” too. Both are the right underneath the first group that you
just edited.</p>

<p>The tutorial mentions making changes to
<code>## default grub root device</code></p>

<p><code>## e.g. groot=(hd0,0)</code></p>

<p><code># groot=(hd1,0)</code></p>

<p>so that <code># groot=(hd1,0)</code> also is changed to <code>(hd1,0)</code>.  One user posted
a comment about the kernel update reading the line with only one <code>#</code> to
determine the location of the Boot Loader. As I mentioned previously, I
have not made these permanent edits yet and do not know if they work. I
bricked my USB Kubuntu after a kernel update and had to start over
again. I&#8217;ll try making these edits in the near future and post my
findings when I can. In the meantime I edit the GRUB every time I
start up &#8230; I think it&#8217;s kinda fun.</p>

<h4>Hardware Issues</h4>

<p>If your hardware differs from mine or something is not working,
check out the tutorial I mentioned above. This tutorial makes many
edits in the terminal which I found my with hardware configuration or
Kubuntu version to be unnecessary.</p>

<p>The only major glitch I had with hardware was my screen resolution. The
<code>intel i810</code> driver didn&#8217;t want to give me the native 1280&#215;800
resolution. There was a quick fix found <a href="https://help.ubuntu.com/community/FixVideoResolutionHowto">here</a>.
Once again there are several steps listed, but for some reason all I had to do was go to the Terminal and type:</p>

<pre><code>sudo apt-get install 915resolution
</code></pre>

<p>After logging out and back in, my resolution worked. Again if you have
troubles or different hardware that link is a good place to start and
you may need to follow the additional steps to get your screen
resolution working.</p>

<p>The other nice thing is that you can mount your internal hard drive so
that you can read (and possibly write) files. This is great when you
need to access something from your hard drive and you don&#8217;t want to
shutdown your computer and restart without the USB.</p>

<p>That&#8217;s all for now. Hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://principialabs.com/usbuntu-installing-kubuntu-on-a-usb-drive/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Synthetic Vision Systems</title>
		<link>http://principialabs.com/synthetic-vision-systems/</link>
		<comments>http://principialabs.com/synthetic-vision-systems/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 17:52:14 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[aviation]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[computers]]></category>

		<guid isPermaLink="false">http://principialabs.com/synthetic-vision-systems/</guid>
		<description><![CDATA[
On August 6, 1997, Korean Air flight 801, a Boeing 747, crashed at Nimitz Hill,
Guam, with 237 passengers on board. The airplane had been cleared to land at Guam
International Airport and crashed into high terrain about 3 miles southwest of the
airport.  228 people were killed, and the airplane was destroyed by impact forces.  [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/files/svs-display.jpg" alt="SVS" style="float:right;padding-left: 7px;" />
<p>On August 6, 1997, Korean Air flight 801, a Boeing 747, crashed at Nimitz Hill,
Guam, with 237 passengers on board. The airplane had been cleared to land at Guam
International Airport and crashed into high terrain about 3 miles southwest of the
airport.  228 people were killed, and the airplane was destroyed by impact forces.  Post-crash analysis revealed no mechanical defects with the aircraft
(<a href="http://www.ntsb.gov/publictn/2000/AAR0001.pdf" target="_blank">NTSB, 1997</a>).</p></p>

<p>The National Transportation Safety Board calls this type of accident Controlled
Flight Into Terrain (CFIT), in which a functioning airplane is essentially flown
into the ground due simply to the pilots&#8217; lack of a clear picture of where they
are (<a href="http://avsp.larc.nasa.gov/pdfs/csrp27.pdf" target="_blank">Arthur, 2003</a>).
According to a study from the Flight Safety Foundation, nearly 80 percent of all
fatal airline accidents can be attributed to CFIT or approach-and-landing accidents
(North, 1999).  Clearly something needs to be done to address this situation and
reduce these preventable pilot-error accidents.</p>

<p><span id="more-14"></span></p>

<p>
During times of reduced visibility, pilots rely solely on the instrumentation in
the cockpit and reports from Air Traffic Control (ATC) to maintain a mental picture
of their position in space relative to terrain, airports, navigational aids and
other air traffic.  This &#8220;picture&#8221; is known as Situational Awareness (SA).
Historically, airline and corporate cockpits provided situational awareness through
a jungle of dials and gauges, each with its own purpose, communicating such
information as bearing and distance from navigational aids (NAVAIDS), aircraft
attitude, altitude, airspeed, heading, and various system-health data.</p>

<p><p>
However, with the advent of  TV-like screens to display data, called Electronic
Flight Instrumentation Systems (EFIS), in military and later commercial cockpits,
this instrument jungle was considerably reduced.  One CRT or LCD screen was adequate
to present the aircraft&#8217;s airspeed, attitude, altitude and heading to the pilot.
This reduced the number of places to which a pilot&#8217;s eye had to travel around the
instrument panel when &#8220;scanning&#8221; the gauges during low-visibility flight.  The
subsequent decrease in pilot workload meant an increase in situational awareness.</p></p>

<p>But it was not enough.  The problem was this:  the early EFIS systems simply
replicated the presentation of the old electro-mechanical dials and gauges on a
TV-like screen.  Little attempt was made to utilize this technology to bring a
more user-friendly and intuitive presentation to the cockpit (Nordwall, 2003).   Pilots still had to read numbers and chase needles, then mentally create the
situational-awareness &#8220;picture.&#8221;</p>
<p>An emerging concept called Synthetic Vision is a revolutionary attempt to rectify
this problem, using EFIS technology to bring maximum situational awareness to the
cockpit in the hopes of reducing pilot-error accidents, especially CFIT.</p></p>

<p><b>The Synthetic Vision System</b></p>

<p>Simply put, the idea behind the Synthetic Vision System (SVS) is to use
currently-available liquid-crystal (LCD) display technology, Global Positioning
System (GPS) receivers and an onboard digital database of terrain, obstacles and
airports to provide pilots with a computer-generated, three-dimensional view of
the outside world during reduced-visibility flight
(<a href="http://avsp.larc.nasa.gov/pdfs/csrp12.pdf" target="_blank">Stark, 2001</a>).
The primary focus of current research is to provide technology that will not only
inhabit the instrument panels of futuristic air transports, but will also be
available for retrofit into existing aircraft, including airliners, corporate
jets, helicopters and even general aviation light planes.</p>

<p>The Synthetic Vision Systems Project was begun under
<a href="http://avsp.larc.nasa.gov">NASA&#8217;s Aviation Safety Program</a> whose stated
goal is &#8220;to develop and demonstrate technologies that contribute to a reduction
in the aviation fatal accident rate by a factor of 5 by year 2007.&#8221;  The program
is a partnership that includes NASA, the Federal Aviation Administration (FAA),
members the aviation industry and the Department of Defense.</p>

<div style="float:right;"><a href='../images/pfdlarge.jpg'><img src='../images/pfdlarge.jpg' alt='' style='width: 200px; border: none; margin: 0;'></a></div>

<p>The purpose of the SVS Project is to design and test a variety of intuitive
displays that provide pilots with a perspective view of terrain, obstacles and
even real-time traffic and weather information that is &#8220;congruent with the pilot&#8217;s
natural mode of spatial information gathering&#8221;
(<a href="http://avsp.larc.nasa.gov/pdfs/csrp12.pdf" target="_blank">Stark, 2001</a>).  Essentially,
this means that the more accurately a display can simulate flight under daylight,
high-visibility conditions, the better a pilot&#8217;s situational awareness.</p>

<p>In addition to experimenting with different views of terrain, coloring, shading,
texturing and display size, NASA&#8217;s SVS Project is also evaluating several types
of course guidance symbology.  Current EFIS systems use a variation of the classic
&#8220;flight director&#8221; symbology, in which a crosshairs or miniature aircraft is presented
on the attitude indicator (or &#8220;artificial horizon&#8221;) and guides the pilot to the
proper pitch and bank attitudes in order to track the desired course.</p>

<p>However, the 3-D view of the terrain provided by the SVS allows for a novel
type of course guidance that shows both current position and the future path of
the aircraft.  Such systems are called &#8220;Tunnel Guidance&#8221; or &#8220;Highway In The Sky&#8221; (HITS).
These can appear as a series of boxes strung out in space through which a pilot
must fly in order to stay on course.</p>

<p>HITS symbology &#8220;allows the pilot to assess the future trajectory relative to
the environment at a glance, thus increasing the likelihood of detection of
conflicts between the programmed path and the terrain,&#8221; as well as allowing
smoother and less-tiring aircraft control since the pilot can more easily
anticipate future control movements (Theunissen, 2000).  In addition, HITS
symbology allows a more accurate flight path over all phases of flight including
departure, enroute and approach, compared to traditional tracking of the Course
Deviation Indicator (CDI) needles found in current cockpits
(<a href="http://www.cheltonflightsystems.com ">Chelton</a>).  [See image, above right.]</p>

<p>And Synthetic Vision Systems aren&#8217;t just prototypes that are gestating in
government simulators and university research programs.  Actual flight-ready
hardware is getting some real-world tests in one of the toughest and historically
most dangerous flight environments in the world:  Alaska.</p>

<p><b>The Capstone Program</b></p>

<p>Due to the rugged terrain, limited navaid and ATC coverage, and unpredictable
weather, the state of Alaska was chosen to initiate tests of new technology that
will improve aviation safety and efficiency, and eventually provide the techniques
essential to the modernization of the entire National Airspace System.
The <a href="http://www.alaska.faa.gov/capstone">Capstone Program</a> is a joint
industry and FAA Alaskan Region effort to provide a working environment for
day-to-day operations of these new systems.</p>

<p>Begun in 1999, Phase I of the Capstone Program provided commercial operators
in the Yukon-Kuskokwim delta region with GPS navigation receivers, multi-function
color LCD displays, and transceivers that helped aircraft see each other during
flights in reduced visibility, all free of charge with participation in the program.
This equipment provided pilots with access to non-radar (i.e. no ATC) environments
that had previously been limited to visual flight operations, and increased the
number of airports served by instrument approaches.  Pilots&#8217; situational awareness
was increased dramatically, simply by bringing information into the cockpit which
included terrain, weather, traffic and accurate aircraft position.</p>

<p>Phase II of  Capstone began in 2002, moving to the more &#8220;environmentally challenged&#8221;
Southeast Alaska, which is plagued with bad weather, low visibility and rugged
terrain.  Phase II heralded the first commercial flight of an aircraft equipped
with an SVS on March 31, 2003, using a twin-engine Piper Seneca and a Chelton
FlightLogicï¿½ Electronic Flight Information System with Synthetic Vision (EFIS-SV).</p>

<p>The Chelton <a href="http://www.alaska.faa.gov/capstone/phase2/avionics.htm">FlightLogicï¿½ system</a>
consisted of two separate LCD displays.  The Primary Flight Display (PFD) featured
real-time SVS 3-D terrain and HITS flight path symbology.  The Navigation Display (ND)
presented a GPS-driven moving map which had the capability to depict the aircraft&#8217;s
selected course, terrain, obstacles, air traffic and weather data all on the same
screen.  Initial tests have shown the SV-HITS system provides precision-approach
accuracy to course guidance along the entire route of flight, and significantly
reduces the chances for CFIT accidents.</p>

<p><b>Research on SVS and Human Factors</b></p>

<p>Substantial research is currently being done to evaluate the effectiveness of
Synthetic Vision Systems in improving situational awareness, refining aircraft
control in low-visibility flight scenarios and reducing or eliminating instances
of Controlled Flight Into Terrain.  The following example studies focus on slightly
different pilot groups and evaluate different facets of pilot performance while
using SVS on both a quantitative and qualitative level.</p>

<p>Both studies utilize a simulated Synthetic Vision System as part of their
experimental group, each displaying computer-generated 3-D terrain and several
using tunnel-in-the-sky guidance.  In both studies, use of the SVS system was
found to reduce pilot workload, improve aircraft control, and increase situational
awareness substantially compared to baseline display systems.</p>

<p><i>Research Example # 1: Private Pilots</i></p>

<p>The first investigation was undertaken by
<a href="http://avsp.larc.nasa.gov/pdfs/crp-fd-np22.pdf" target="_blank">Takallu, et al.</a>,
at the <a href="http://www.nasa.gov/centers/langley/home/index.html"> NASA Langley Research Center</a>
in Virginia.  The focus was on low-time General Aviation (GA) pilots having limited
instrument flight skills.  A common GA accident scenario involves non-Instrument-rated
pilots inadvertently flying from Visual Meteorological Conditions (or VMC, in
which the ground and horizon are clearly visible and are used as the primary
aircraft course and attitude references) into Instrument Meteorological Conditions
(or IMC, in which the ground and horizon are obscured by clouds, fog or haze,
and the flight instruments become the primary means of controlling the aircraft&#8217;s
course and attitude).  In such a scenario, the low-time Private Pilot is taught
to execute a 180 degree level turn by reference to the instruments in order to
hopefully return to visual conditions.  Loss of aircraft control or CFIT commonly
results.</p>

<p>In this study, 17 GA pilots with Private Pilot, Airplane Single-Engine Land
ratings participated.  None of the pilots had any instrument training beyond
that required for the Private Pilot certificate.  The pilots were tasked to
evaluate three (3) different instrument display concepts in a flight simulator
at Langley&#8217;s General Aviation Work Station.</p>

  <ul>
  <li>Display 1, referred to as the Attitude Indicator (AI) was the baseline
    display, designed to replicate the standard &#8220;six-pack&#8221; of round electro-mechanical
    gauges in the average light plane cockpit.</li>

  <li>Display 2, referred to as the Electronic Attitude Indicator (EAI) featured
    an enlarged attitude indicator representative of the current EFIS &#8220;glass cockpit&#8221;
    displays found in most commercial and corporate aircraft.</li>

  <li>Display 3 was called the SVS display, but was identical to the EAI except
    that instead of the &#8220;brown ground-blue sky&#8221; depiction of the standard electronic
    attitude indicator, the SVS featured computer-generated terrain imagery.  No
    tunnel-in-the-sky symbology was incorporated.</li>
  </ul>

<p>Visual cues were also presented in the flight simulator, giving pilots the
ability to look out the &#8220;window&#8221; for attitude references as much as meteorological
conditions would permit. Pilot performance parameters such as heading, airspeed,
altitude, bank angle and pitch attitude were evaluated on a quantitative basis.
Human factors questionnaires were administered after each session, evaluating
the pilots&#8217; perceptions of situational awareness on a qualitative basis.</p>

<p>Each flight session was five minutes in length and involved a straight and
level flight beginning in VMC and progressing rapidly into IMC.  Pilots were
expected to maintain aircraft control using visual cues (i.e. out the &#8220;window&#8221;)
while possible, and then transition to the instrument display when visual reference
to the horizon was lost.  Once IMC was encountered, the pilots were tasked with
executing a 180 degree level turn followed by a constant-airspeed climb and a
constant-airspeed descent of 1000 feet each, all by reference to the instrument
display.  Each of the pilots flew four scenarios three separate times, once with
each display type.</p>

<p>The results were as predicted: In every one of the scenarios, pilots demonstrated
smoother control inputs, smaller and fewer control input errors, and smaller
deviations of airspeed, heading and altitude with the SVS display.  Interestingly,
however, in several cases, such as altitude control, errors were greater with the
EAI display than with the baseline AI display, seeming to suggest that simply
depicting standard gauges on an LCD screen does little to improve pilot performance.</p>

<p>In addition, pilots overwhelmingly reported a lower workload and improved
situational awareness (SA) during flight in IMC with the SVS display compared to the
other two.  According to the authors, these findings demonstrated that a display
which intuitively presents flight-critical data to the pilot and more realistically
simulates visual flying cues will lead directly to a reduced level of flying errors,
vastly improved SA, and a reduction of loss-of-control and CFIT accidents.</p>

<p><b>Research on SVS and Human Factors</b></p>

<p><i>Research Example # 2: Professional Pilots</i></p>

<p><a href="http://avsp.larc.nasa.gov/pdfs/csrp27.pdf" target="_blank">Arthur, et al.</a> conducted
the following experiment in the Visual Imaging Simulator for Transport Aircraft
Systems (VISTAS III) at the

<a href="http://www.nasa.gov/centers/langley/home/index.html">NASA Langley Research Center</a>.
The hypothesis for this experiment is that &#8220;a Synthetic Vision System will improve
the pilot&#8217;s ability to detect and avoid a potential CFIT compared to conventional
flight instrumentation.&#8221; The major focus was to test SVS display size configurations
that would easily retrofit into existing corporate and airline fleets.</p>

<p>Since the goal of the study was to evaluate the effect of Synthetic Vision of
avoiding CFIT, the flight scenarios featured what the authors termed a &#8220;rare event&#8221;
technique, in which an unexpected, potential CFIT incident was incorporated once
for each pilot at the conclusion of a series of IMC approach and departure attempts.</p>

<p><b>The Displays.</b> Three display sizes were evaluated, a Size &#8220;A&#8221; display
that could be retrofitted into existing Primary Flight Display (PFD) slots on
Boeing 757-767 aircraft, a Size &#8220;D&#8221; that would fit in B-777 PFD slots, and the
largest was a Size &#8220;X&#8221; that represented probable display space alloted on future
aircraft.  Each of the display concepts included a Terrain Awareness and Warning
System (TAWS) and a Vertical Situation Display (VSD), which showed a vertical
profile of the terrain along the desired course.  Both TAWS and the VSD were
incorporated into one secondary Navigation Display (ND).</p>

<p>The PFDs incorporated the SVS technology, or the baseline display as appropriate.
Six of the PFD concepts used some variation of a Synthetic Vision System.  One PFD
concept was used as the baseline, and depicted the conventional Electronic Attitude
Direction Indicator (EADI) found in most of today&#8217;s airline and corporate cockpits.
Course guidance on the baseline EADI display was the traditional &#8220;flight director&#8221;
symbology.  Guidance on the SVS displays was provided by &#8220;Highway-In-The-Sky&#8221; symbology.</p>

<p><b>The Pilots.</b> Sixteen pilots participated in the test, 15 airline pilots
and one NASA researcher.  The subjects averaged 8200 hours of logged flight experience.
The pilots were briefed on the display concepts and participated in a two-hour
training session.  The &#8220;rare event&#8221; scenario was not mentioned, although the pilots
were expected to maintain separation from the terrain at all times.</p>

<p><b>The Flight Scenarios.</b> The pilots were tasked with flying a circling
approach in IMC to runway 7 at the &#8220;terrain challenged&#8221; Eagle County Regional
Airport in Colorado.  At 200 feet above ground level, the pilots were expected
to go around and execute a missed approach procedure the led to a nearby navaid.
All of the pilots flew the same procedure several times with different displays.
The final run for each of the pilots ended with the &#8220;rare event&#8221; CFIT scenario.
In the rare event scenario, the missed approach course was altered in the flight
management computer, so that the PFD&#8217;s flight director or HITS symbology would
provide guidance <i>into the terrain</i>.  The pilots were not informed that
this run would be any different than the previous.</p>

<p><b>The Results.</b> As predicted, the users of the SVS displays demonstrated
significantly more accurate lateral and vertical tracking of the desired course
compared to the users of the baseline EADI display.  Twelve of the 16 test subjects
flew the CFIT &#8220;rare event&#8221; scenario with one of the SVS PFDs. <i>All twelve pilots
noticed and avoided the CFIT.</i> &#8220;On average, pilots with an SVS display noticed
the potential CFIT 53.6 seconds before impact with the terrain.&#8221;  The remaining
four pilots flew the CFIT scenario with the baseline display. <i>All four pilots
had a CFIT event.</i>  Three pilots impacted the terrain and one passed within
58 feet of a mountain peak, unaware of any terrain conflict.  In addition, two
<i>unplanned</i> CFIT impacts occurred with the baseline display while executing
the circling maneuver from base leg to final approach.</p>

<p>This experiment clearly demonstrated the benefit of the Synthetic Vision System
in providing better pilot situational awareness, increased accuracy, lower cockpit
workload, and more confidence in knowledge of terrain clearance.  The rare event
scenario illustrated dramatically the advantage of SVS for identifying and avoiding
potential CFIT incidents.</p>

<p><b>Current and Future SVS Applications</b></p>

<p>In 2003, <a href="http://www.cheltonflightsystems.com">Chelton Flight Systems</a>
(mentioned earlier in conjunction with the Capstone program) received the first
FAA certification of a Synthetic Vision System with Highway-In-The Sky technology.
The Chelton EFIS-SVS can now be found on a wide range of general aviation aircraft,
from the Beechcraft King Air 200 to the Bell 206 helicopter.</p>

<p>Chelton&#8217;s EFIS-SVS was also <a href="http://www.cheltonflightsystems.com/news.html#Congratulations">used</a>
on Steve Fossett&#8217;s non-stop, non-refuelled flight around the world.  His aircraft, the
<a href="http://www.globalflyer.com/" target="_blank">GlobalFlyer</a>, was equipped with two of
the displays, one used as a PFD and the other as ND.</p>

<p>
<img src="../images/globalflyer.jpg" alt="" title="Steve Fossett's GlobalFlyer" style="float: left; padding: 0 7px 0 0;" width="300" height="200" border="0" />

<i>Chelton Flight Systems EFIS provided Mr. Fossett with critical information
on aircraft performance and navigation. It was his primary source for flight
instrumentation, providing a real-time moving map perspective along the entire
route of flight, along with seamless three-dimensional terrain modeling. Coupled
to a three-axis autopilot, the EFIS played a significant role in reducing pilot
workload and in keeping the aircraft flying through a steady flow of green
rectangular boxes that created a virtual Highway-In-The-Sky, affirming the aircraft
was on course.</i> ~ Chelton Flight Systems</p>

<p>Other avionics manufacturers such as Honeywell and Rockwell Collins are getting
on board as well.  Both companies are offering larger, integrated avionics displays
with easily reconfigurable software that can change to suit the aircraft and the
operator.  Although these systems don&#8217;t specifically offer SVS, the new packages
are ready to accept the software as soon as it is certified.</p>

<p>Gulfstream&#8217;s <a href="http://www.gulfstream.com/gulfstreamplaneview/">PlaneView</a>
cockpit also offers large LCD displays, and several Gulfstream aircraft have the
option of incorporating Gulfstream&#8217;s proprietary
<a href="http://www.gulfstream.com/gulfstreamevs/">Enhanced Vision System</a> (EVS),
which received provisional FAA certification in late 2002.  Gulfstream&#8217;s EVS uses
an infared sensor to &#8220;see&#8221; through clouds and fog and depict that image on a
head-up display (HUD) in front of the pilot. (Hughes, 2003.)</p>

<p><b>Summary</b></p>

<p>Reduced visibility is one of the leading contributors to aviation accidents
worldwide.  Current EFIS and classic &#8220;steam-gauge&#8221; cockpit displays have proven
to be inadequate in providing pilots with accurate situational awareness and
terrain avoidance information.  With the computing and display technology
available today, a more intuitive means of presenting flight critical data must
be designed and evaluated.</p>

<p>Synthetic Vision is that means.  Laboratory research and flight test programs
have proven that SVS-equipped aircraft are safer and easier to fly.  The current
number of pilot-error accidents due to low-visibility flight is unacceptable and
any technology that can contribute to a reduced accident rate should be implemented
as soon as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://principialabs.com/synthetic-vision-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
