<?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>Techthrob.com &#187; Articles</title>
	<atom:link href="http://techthrob.com/category/articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://techthrob.com</link>
	<description>Words of Wisdom for Technologists</description>
	<lastBuildDate>Tue, 17 Aug 2010 12:00:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Why an Ubuntu Tablet Won’t Sell</title>
		<link>http://techthrob.com/2010/06/16/why-the-ubuntu-tablet-won%e2%80%99t-sell/</link>
		<comments>http://techthrob.com/2010/06/16/why-the-ubuntu-tablet-won%e2%80%99t-sell/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 16:01:50 +0000</pubDate>
		<dc:creator>Jonathan DePrizio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://techthrob.com/?p=335</guid>
		<description><![CDATA[Note: Mark Shuttleworth clarified that Canonical is not working on a tablet edition, but rather other companies are developing Ubuntu-based tablets.]]></description>
			<content:encoded><![CDATA[<p><a href="http://techthrob.com/2010/06/16/why-the-ubuntu-tablet-won%e2%80%99t-sell/"><img src="http://techthrob.com/wp-content/uploads/2010/06/3981151245_7276183bf6_b-150x150.jpg" alt="Stuck in the Mud" title="Stuck in the Mud" width="150" height="150" class="alignright size-thumbnail wp-image-342" /></a><br />
<i>Note:</i> Mark Shuttleworth <a href="http://video.golem.de/desktop-applikationen/3312/mark-shuttleworth-interview-auf-dem-linuxtag-2010-in-berlin.html">clarified</a> that Canonical is <i>not</i> working on a tablet edition, but rather other companies are developing Ubuntu-based tablets.<br /.<br /> <br />
Canonical recently announced that they are developing a tablet version of their popular Ubuntu operating system, slated to be released in 2011.  This comes hot on the heels of the release of the Apple iPad, and the rumors that HP plans to release a WebOS-based tablet sometime late 2010.  However,  Canonical’s foray into the tablet arena is fundamentally different from both the iPad and a WebOS tablet, and unfortunately reeks of a company failing to learn from their competitors successes and failures.  Here are four reasons why an Ubuntu tablet simply won’t work.</p>
<ol>
<li class="sectionHeader">Canoncial is <i>only</i> a software company</li>
<p>One of the reasons Apple has been so successful with their mobile devices (iPod, iPhone, and now the iPad) is that they control everything about it.  They control the hardware, they control the operating system, and they control the applications.  The result is that they are able to deliver a streamlined, fully-integrated user experience.  When HP unleashes their WebOS tablet, they will also be in the position of having full control over the device.  </p>
<p>An Ubuntu tablet, however, offers none of this.  It’s hardware by one company, OS by another, and applications by anyone &#8211; and there’s no guarantee that it will all play nicely together.  The result will likely be poor battery life, a user interface that doesn’t work for most programs, and just general user frustration.</p>
<li class="sectionHeader">They’re <i>scaling down</i> instead of <i>building up</i></li>
<p>The single biggest mistake that Canonical is making is one that Steve Jobs has explicitly warned against.  In an interview about the iPad, <a href="http://online.wsj.com/article/SB10001424052748704764404575286192766121172.html">he told the Wall Street Journal</a>:</p>
<blockquote><p>“[Y]ou can&#8217;t use a PC operating system, and you have to bite the bullet and say, we&#8217;re going to have to create this from scratch because all the PC apps won&#8217;t work without being rewritten anyway.”</p></blockquote>
<p>Unfortunately for Canonical, they haven’t learned this lesson, and they are heading down the path of scaling down a PC operating system to work on a tablet device.  If the tablet OS is anything like the Ubuntu netbook remix, it simply won’t work on a tablet device.</p>
<li class="sectionHeader">Where are the applications?</li>
<p>One of the biggest selling points of the iPad was that the day it came out, there were <a href="http://www.apple.com/pr/library/2010/01/27ipad.html">140,000 applications available</a> for it, since from a software point of view it was essentially a scaled up iPhone.  Since then, developers have been adding a reported <a href="http://www.itproportal.com/portal/news/article/2010/6/15/over-10000-ipad-apps-launched-three-months/">1000 applications per week.</a></p>
<p>But again, going back to points #1 and #2, this doesn’t hold true for an Ubuntu tablet.  Sure, there are thousands of Linux applications, but how many of them will seamlessly transfer to a tablet form factor?  Who is going to take responsibility for quality control of third-party applications?  </p>
<p>In Linux, downloading packages from the repositories can be hit-or-miss; sometimes you will get a polished, well-tested application that works exactly as you need; but many other times, you’ll get an abandoned project that consistently crashes. Without high-quality, tablet-friendly applications, an Ubuntu tablet simply isn’t useful.</p>
<li class="sectionHeader">Canonical who?</li>
<p>Apple has an obvious advantage in name recognition.  Everyone knows what an iPhone is, and most people think “sleek” and “friendly” when they think of Apple products (though many also think “expensive”), and this is what people want in a tablet.  HP will probably have a harder time trying to convince users that their tablet can be fun and easy to use, but they have the advantage that people know their name.</p>
<p>By contrast, almost nobody knows who Canonical is, what they do, or where they are coming from.  The fact that they are most closely associated with Linux can only hurt them from a user’s perspective &#8212; most people don’t know what Linux is, and very few associate it with “fun” or “easy to use.”</p>
<p>Canonical is venturing into an entirely new market, and a year ago there might be some question as to whether or not their idea of an Ubuntu tablet would work.  But the success of the iPad has made it clear what the public wants in a tablet, and a Canonical-made Ubuntu tablet, by definition, goes against all the lessons that have been learned about this new market in the past year.</p>
<div class="sectionHeader">What do you think?</div>
<p>Would you buy an Ubuntu tablet over an iPad?  Do you think the Canoncial tablet will be a success?  Am I completely wrong?  Leave your thoughts in the comments, and let me know why you think the Ubuntu tablet will (or won’t) be a success.</p>
<div class="attribution">Image credit goes to <a href="http://www.flickr.com/photos/34094515@N00/3981151245/">dicktay2000</a></div>
]]></content:encoded>
			<wfw:commentRss>http://techthrob.com/2010/06/16/why-the-ubuntu-tablet-won%e2%80%99t-sell/feed/</wfw:commentRss>
		<slash:comments>69</slash:comments>
		</item>
		<item>
		<title>Ubuntu as Mom&#8217;s Operating System</title>
		<link>http://techthrob.com/2010/03/29/ubuntu-as-moms-operating-system/</link>
		<comments>http://techthrob.com/2010/03/29/ubuntu-as-moms-operating-system/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 01:30:38 +0000</pubDate>
		<dc:creator>Jonathan DePrizio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Lists]]></category>
		<category><![CDATA[end-user]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://techthrob.com/?p=241</guid>
		<description><![CDATA[A lot of tech-savvy indivuals face the same dilema: their parents, who aren&#8217;t so tech-savvy, count on them to provide constant technical support for their Mom &#38; Dad PC.  This can become an incredible burden in a Windows world, where the dangers of spyware, viruses, and total system meltdown loom large.  I&#8217;ve found that the [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of tech-savvy indivuals face the same dilema: their parents, who aren&#8217;t so tech-savvy, count on them to provide constant technical support for their Mom &amp; Dad PC.  This can become an incredible burden in a Windows world, where the dangers of spyware, viruses, and total system meltdown loom large.  I&#8217;ve found that the best solution to the problem is not to load up the parents&#8217; PC with antivirus or malware protection, but to ditch Windows altogether and go with a clean Ubuntu approach.</p>
<p>Here are seven reasons why an Ubuntu-based machine makes the best Mom &amp; Dad PC:</p>
<div class="sectionHeader">1. The software is free</div>
<p>Instead of having to pay for an additional copy of Windows, Ubuntu is a free download.  Additionally, Ubuntu&#8217;s software center has lots of free applications that are of a high enough quality to meet the needs of mom and dad.  Using an Ubuntu solution with Open Office easily saves several hundred dollars worth of software licenses when compared to an equivelant Microsoft solution.</p>
<div class="sectionHeader">2. The hardware is low-cost</div>
<p>On top of the free software, the system requirements for Ubuntu are minimal.  I setup my parents on a low-cost Atom-based nettop which cost about $300 to build, complete with a solid 1.6GHz processor, 2GB of RAM, and a 300GB hard disk.  Obviously this system is going to win any gaming competitions, but for the solitare that mom likes to play, and the news sites that dad likes to surf, it&#8217;s got plenty of power.  </p>
<div class="sectionHeader">3. It&#8217;s low maintenance</div>
<p>A Windows-based machine would require monthly patching and rebooting, virus protection, malware scanners, and a host of other meta-applications, just to keep the system running smoothly.  With Ubuntu, I simply setup automatic updates to run once a week, and I&#8217;ve completely forgotten about it since then.  Every once and a while I&#8217;ll login to the system and run a quick &#8220;apt-get dist-upgrade&#8221; just to make sure I haven&#8217;t missed anything important.  And I don&#8217;t have to worry about viruses or malware at all.</p>
<div class="sectionHeader">4. Remote Assistance</div>
<p>In the case that something does go wrong, it&#8217;s a lot easier to troubleshoot the problem when I can just <a href="http://techthrob.com/2009/03/02/ssh-101-secure-shell-basics/">SSH in remotely (using X11 forwarding if necessary)</a>, find the problem, and fix it; no talking Mom through how to readjust the screen resolution when I can do it myself in a fraction of the time.  And SSH means that I can solve any technical problems from anywhere.</p>
<div class="sectionHeader">5. They can&#8217;t mess anything up &#8212; too badly</div>
<p>Although it is possible for me to fix things remotely, I almost never have to.  That&#8217;s because Mom and Dad have their own, non-privilaged user account.  It is an easy way to rest assured that they can&#8217;t mess anything up too badly &#8212; even if they somehow manage to destroy their individual account, the reset switch is as easy as creating a new user (I&#8217;ve never had to do this).  Compare this to Windows, where the norm is to run as Administrator, and the reset swith is a format and clean install.</p>
<div class="sectionHeader">6. It gets the job done</div>
<p>If you have a mother that plays WOW or does CAD, maybe an Ubuntu-based PC isn&#8217;t right for them.  But if that&#8217;s the case, they probably know enough about computers that you don&#8217;t need to hold their hand through all their minor technology troubles.  But, if your parents, like mine, simply want to check their email, play card games, and surf the net, then Ubuntu will get the job done without getting in the way.  Whereas any Windows machine is guaranteed to become loaded up with all sorts of extensions, additional programs, and malware just by the act of putting Dad on the internet, you can be sure this won&#8217;t happen with Ubuntu.</p>
<div class="sectionHeader">7. It&#8217;s easier for YOU!</div>
<p>And ultimately, that&#8217;s why Ubuntu makes for the best parent PC.  Because the parents don&#8217;t really care what their OS is, as long as they can do the things they want to do with it, whether it be Linux, Windows, or Mac.  But by chosing Ubuntu, you&#8217;ve simplified your own life by removing the need to provide constant technical support.  And, if something eventually does happen, you know it will be less of a headache to resolve the problem than if you had gone with an alternative solution.</p>
<div class="sectionHeader">What do you think?</div>
<p>Do you provide tech support for your parents?  What OS are they running, and how often do they need to you to solve their technical problems?  Leave your responses in the comments below!</p>
]]></content:encoded>
			<wfw:commentRss>http://techthrob.com/2010/03/29/ubuntu-as-moms-operating-system/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>The Basics of the Bash &#8220;for&#8221; Loop</title>
		<link>http://techthrob.com/2010/03/22/the-basics-of-the-bash-for-loop/</link>
		<comments>http://techthrob.com/2010/03/22/the-basics-of-the-bash-for-loop/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 02:39:07 +0000</pubDate>
		<dc:creator>Jonathan DePrizio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[commandline]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[power users]]></category>

		<guid isPermaLink="false">http://techthrob.com/?p=196</guid>
		<description><![CDATA[The basics of the bash "for" loop; this article can help you save hours of time on redundant tasks.]]></description>
			<content:encoded><![CDATA[<div class="sectionHeader">Introduction</div>
<p>It doesn&#8217;t take long before even the newest Linux users learn that the command line is often a quicker, more efficient way to get things done than the GUI.  But, sometimes, it may seem that the GUI is a better way to perform redundant task, or a task multiple times, even when you know that there must be a simpler way in the shell.  This article will explain how to use the bash &#8220;for&#8221; loop, which is an invaluable tool that can save you hours of pointing a clicking, or repeating the same command over and over.</p>
<div class="sectionHeader">Basic Syntax</div>
<p>The &#8220;for&#8221; loop is useful when you want to repeat an operation multiple times, for example, on multiple files, or for multiple inputs.  The basic syntax of the for loop is as follows; you can type each line into your shell one line at a time:</p>
<div class="linuxBox">
for x in $y<br />
do<br />
&nbsp;&nbsp;&nbsp;&nbsp;some_command<br />
done
</div>
<p>Let&#8217;s examine this a little more closely.  On the first line, we the &#8220;for&#8221; statement, which says that, for every item in variable $y, which presumably is a list of items, make the variable x equal to that item in $y.  The for loop will then execute all the commands between &#8220;do&#8221; and &#8220;done&#8221;, once for each item in $y.</p>
<p>To see what this actually does, you can build a very simple for loop:</p>
<div class="linuxBox">
for x in 1 2 3 4 5<br />
do<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo &#8220;Hello, world, ${x} times&#8221;<br />
done
</div>
<p>The output of this will be simply,</p>
<div class="linuxBox">
Hello, world, 1 times<br />
Hello, world, 2 times<br />
Hello, world, 3 times<br />
Hello, world, 4 times<br />
Hello, world, 5 times
</div>
<p>In reality, this is how it should appear in your terminal:</p>
<p><a href="http://techthrob.com/wp-content/uploads/2010/03/basic_for_loop.png"><img src="http://techthrob.com/wp-content/uploads/2010/03/basic_for_loop.png" alt="A basic &quot;for&quot; loop in bash." title="A &quot;for&quot; loop in bash." width="666" height="325" class="alignleft size-full wp-image-202" /></a></p>
<p>Not a very useful loop, but now you can see how the basics work. </p>
<div class="sectionHeader">A more useful loop</div>
<p>Once you understand the fundamental structure of the &#8220;for&#8221; loop, it is easier to build a useful command.  For example, let&#8217;s say that you want to rename a bunch of files in some predictable manner; perhaps, you want to move all the &#8220;.txt&#8221; files to &#8220;.txt.old&#8221;.  It would take a very long time to do this with the GUI, and probably just about as long with the command line if you didn&#8217;t use a loop.  But the for loop makes it trivial:</p>
<div class="linuxBox">
for eachTxtFile in *.txt<br />
do<br />
&nbsp;&nbsp;&nbsp;&nbsp;mv ${eachTxtFile} ${eachTxtFile}.old<br />
done
</div>
<p>The above snippet will rename all files that are in the current directory, and end with .txt, to their current name, with &#8220;.old&#8221; appended. Now what would have taken a significant amount of tedious labor in the GUI is done in just a few seconds, because you&#8217;ve used a simple for loop.</p>
<div class="sectionHeader">For loop ranges</div>
<p>Sometimes you want to repeat a certain command several times, like in the above &#8220;hello world&#8221; example, but more times than you&#8217;d like to type out.  Bash has a built-in function for this, which allows you to specify a range to act on.  For example, the above Hello World example can be simplified, using a range:</p>
<div class="linuxBox">
for eachNumber in {1..5}<br />
do<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo &#8220;Hello, world, ${x} times&#8221;<br />
done
</div>
<p>Or, perhaps you want to create a thousand files.  This might take all day by hand, but automating it with a for loop can complete the task in just a second:</p>
<div class="linuxBox">
for eachNumber in {1..1000}<br />
do<br />
&nbsp;&nbsp;&nbsp;&nbsp;touch $eachNumber<br />
done
</div>
<div class="sectionHeader">Conclusion</div>
<p>These are all very basic loops, but you can probably see how they can quickly become huge time-savers.  In my next article, I will discuss the &#8220;if&#8221; conditional statement, and how to integrate it with the &#8220;for&#8221; loop, for much more powerful commands.</p>
]]></content:encoded>
			<wfw:commentRss>http://techthrob.com/2010/03/22/the-basics-of-the-bash-for-loop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iSCSI 101: Setting up a simple iSCSI Storage Area Network</title>
		<link>http://techthrob.com/2009/03/07/iscsi-101-setting-up-a-simple-iscsi-storage-area-network/</link>
		<comments>http://techthrob.com/2009/03/07/iscsi-101-setting-up-a-simple-iscsi-storage-area-network/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 03:55:40 +0000</pubDate>
		<dc:creator>Jonathan DePrizio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[How-Tos]]></category>
		<category><![CDATA[filesharing]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[iscsi]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[san]]></category>
		<category><![CDATA[scsi]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.techthrob.com/?p=130</guid>
		<description><![CDATA[iSCSI 101: How to setup a Storage Area Network using iSCSI.  Using a file server and iSCSI, this article explains how to present a RAID array, a disk partition, or even an individual file, as a storage device which can then be formatted, partitioned, and mounted by a client.]]></description>
			<content:encoded><![CDATA[<h2><strong>Introduction</strong></h2>
<p>As storage requirements continue to grow, external storage is becoming increasingly popular.  While the simplest way to deal with this growing demand is to attach an external hard drive via USB, many users demand more power and flexibility; for example, the ability to provide storage over a network, or divide storage for various uses. For this, SAN, or Storage Area Network, is the most powerful tool available, and iSCSI is a free and common way to create a SAN.</p>
<p>This article will discuss how to create a simple Storage Area Network with a file server presenting storage to another machine.</p>
<h2><strong>Some SCSI Terminology</strong></h2>
<p>If you are already familiar with SCSI, you can skip this section.  Otherwise, give it a read before you continue.  I will be using these terms extensively throughout the rest of the article.</p>
<p><strong>Target</strong> -   Your iSCSI Target server is the server that physically has the storage, and is presenting it over the network to the initiator.  Essentially, your fileserver is your target.<strong></strong></p>
<p><strong>Initiator</strong> -   The initiator is the machine on which the target&#8217;s storage will be mounted and used, over the network.  This is your HTPC, your workstation, laptop, etc..<strong><br />
</strong></p>
<p><strong>LUN</strong> &#8211; I will be calling any unit of storage shared over iSCSI a LUN.  LUN actually stands for Logical Unit Number, or the number assigned to this unit of storage.  It is a logical unit (as opposed to a physical unit), so an entire RAID array, a single partition, even a file, can become a LUN and used for storage.</p>
<h2><strong>Setting up the Target</strong></h2>
<p>The first step is to setup your storage server with the necessary software.  You&#8217;ll have to install the iscsitarget daemon, which can be installed on Ubuntu/Debian systems with the command:</p>
<div class="linuxCommand">sudo apt-get install iscsitarget</div>
<p>Once that&#8217;s installed, it&#8217;s necessary to do some configuration in the /etc/ietd.conf file to specify what you want to share over the network.  You can share a block device (e.g, a hard disk, a partition), a RAID array, an <a title="Wikipedia Article on LVM" href="http://en.wikipedia.org/wiki/Logical_Volume_Manager_(Linux)">LVM device</a>, or even a file (this file  can be an ISO of a DVD, or just some empty file you&#8217;ve created to act as an independant storage device.  I&#8217;ll talk more about this later).  Here, I will be sharing a Linux MD device (a software RAID device) as well as a 50GB file.</p>
<h4>Configuring /etc/ietd.conf</h4>
<p>The ietd.conf file usually comes with some examples, but they&#8217;re confusing and not all that helpful.  It&#8217;s easier to just write your iSCSI target lines at the bottom, by hand.  The /etc/ietd.conf file is only readable and editable by root, so open it with your favorite text editor, for example &#8220;gedit&#8221;, like so:</p>
<div class="linuxCommand">sudo gedit /etc/ietd.conf</div>
<p>For my setup, sharing a single MD device and a single file, I added the following lines to my configuration file:</p>
<p><code>Target iqn.2009-01.voyager:storage.homeShare<br />
Lun 0 Path=/dev/md0,Type=blockio<br />
Lun 1 Path=/root/fiftyGBFile,Type=fileio</code></p>
<p>That&#8217;s all that I needed to configure in this file.  Obviously yours will be different; here is what the lines mean:</p>
<p><code>Target iqn.2009-01.voyager:storage.homeShare</code></p>
<p>This defines an iSCSI target, as discussed above in the terminology section.  The &#8220;iqn&#8230;&#8221; part is the target&#8217;s name, which must be unique.  The name takes the format:</p>
<p><code>iqn.YYYY-MM.[domainname]:[unique identifier]</code></p>
<p>YYYY-MM is the year and month that the target becomes valid, so it is the current year and month.</p>
<p>The domain name is the name of the machine on the network; if you are sharing over the internet, you will want to use your actual domain name (in reverse order, so com.example instead of example.com).  If you are just sharing over your home network, you only need to specify your hostname.</p>
<p>Finally, specify a unique identifier for this target.  I used &#8220;storage.homeShare&#8221;, because this is the share for my home.  You may chose something more descriptive, such as &#8220;mediaTarget&#8221; or &#8220;remote.backupServer&#8221;.</p>
<p>The next two lines specify which LUNs are shared through this target, starting with 0.  You must define a path and a type.</p>
<p><code> Lun 0 Path=/dev/md0,Type=blockio</code></p>
<p>In this example I am specifying /dev/md0 which is a 2TB software RAID volume, and /root/fifty50GBFile, which is a blank file I created using the command:</p>
<div class="linuxCommand">sudo dd if=/dev/zero of=/root/fiftyGBFile bs=512K count=102400</div>
<p>Of course, for files you could have chosen (for example) an ISO or IMG file, to be mounted by the iSCSI initiator as-is.  In this case, I created a blank file because I plan to write a filesystem to it and use it as a backup device.  Then, this file will contain an ext3 filesystem which can be mounted by any computer to access my backups, as opposed to having a physical disk for backup.</p>
<p>The Type= line determines how iSCSI will treat writing to the device.  In my case, I want to treat my RAID device using blockio, but the file I created using fileio.  If in doubt, use fileio, or read more about these two options in the manual for iscsi.</p>
<p>Once you have finished editing your ietd.conf file, save it and restart the iscsitarget daemon, for the changes to load:</p>
<div class="linuxCommand">sudo /etc/init.d/iscsitarget restart</div>
<p>Now you are ready to move on to the initiator, who will receive the storage from the target.</p>
<h2><strong>Setting up the Initiator</strong></h2>
<p>The first thing to do is install the initiator software, which is the open-iscsi package.  In Debian/Ubuntu Linux, this can be done with the command:</p>
<div class="linuxCommand">sudo apt-get install open-iscsi</div>
<p>Next, you will need to make sure it is started:</p>
<div class="linuxCommand">sudo /etc/init.d/open-iscsi start</div>
<p>Now, you need the initiator software to &#8220;discover&#8221; any iSCSI devices being shared by your storage server.  To do this, simply run:</p>
<div class="linuxCommand">sudo iscsi_discovery -d [server IP address]</div>
<p>If everything is setup correctly, the iscsi_discovery tool will report back that it has found a target.  For example:</p>
<p><code>jdeprizi@enterprise:~$ sudo iscsi_discovery -d 192.168.0.6<br />
Set target iqn.2009-01.voyager:storage.homeShare to automatic login over iser to portal 192.168.0.6:3260<br />
discovered 1 targets at 192.168.0.6, connected to 1<br />
</code></p>
<p>To verify that it worked correctly, you can run the command:</p>
<div class="linuxCommand">cat /proc/scsi/scsi</div>
<p>If all has gone as planned, you will see one &#8220;VIRTUAL DISK&#8221; for each LUN you created.  To see where these devices have shown up on your system, use the command:</p>
<div class="linuxCommand">cat /proc/partitions</div>
<p>In my case, I have created two LUNs; so I see two &#8220;VIRTUAL DISKS&#8221; of LUN 0 and LUN 1:</p>
<pre>Host: scsi3 Channel: 00 Id: 00 Lun: 00
  Vendor: IET      Model: VIRTUAL-DISK     Rev: 0
  Type:   Direct-Access                    ANSI  SCSI revision: 04
Host: scsi3 Channel: 00 Id: 00 Lun: 01
  Vendor: IET      Model: VIRTUAL-DISK     Rev: 0
  Type:   Direct-Access                    ANSI  SCSI revision: 04</pre>
<p>And when I view /proc/partitions, I see my devices at sdc and sdd:<br />
<code> 8    32 1953524992 sdc<br />
8    48    52428800 sdd</code></p>
<h2><strong>Controlling the devices</strong></h2>
<p>Finally, you are ready to use your iSCSI shared devices.  You can treat them like you would a normal disk attached to your system, which is the real power of this technology.  You can create a filesystem on them, even partition them into smaller pieces, as you would a physical hard drive.</p>
<p>This is mostly outside the scope of this article, but for a quick demonstration, if I were to format the 50GB LUN (sdd on my initiator) as ext3 and mount it, I could do:</p>
<div class="linuxCommand">sudo /sbin/mkfs.ext3 /dev/sdd</p>
<p>sudo mount /dev/sdd /media/backupdrive</p></div>
<h2><strong>Conclusion</strong></h2>
<p>Using iSCSI technology to create a simple Storage Area Network isn&#8217;t the easiest task imaginable, but it really isn&#8217;t too hard, especially for a basic home setup.  Sharing the devices over gigabit ethernet means file transfers are fast enough that you can use your network shares as if they are local, and, with iSCSI/SAN, you can treat them that way, too: creating partitions, writing individual file systems, and mounting them as their own devices.</p>
<h3>References</h3>
<p>The most useful documents, and also the most immediately available, are of course the man pages:</p>
<p><code>man ietd.conf<br />
man isciadm</code></p>
]]></content:encoded>
			<wfw:commentRss>http://techthrob.com/2009/03/07/iscsi-101-setting-up-a-simple-iscsi-storage-area-network/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Do I Need an AntiVirus Program on Linux?</title>
		<link>http://techthrob.com/2009/03/02/do-i-need-an-antivirus-program-on-linux/</link>
		<comments>http://techthrob.com/2009/03/02/do-i-need-an-antivirus-program-on-linux/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 23:36:43 +0000</pubDate>
		<dc:creator>Jonathan DePrizio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[antivirus]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.techthrob.com/wp/wordpress/?p=98</guid>
		<description><![CDATA[Introduction There has been a lot of debate recently over whether or not it&#8217;s a good idea to run an anti-virus program if you&#8217;re using Linux. Reading the forums, I see a lot of misunderstandings, particularly around what exactly it is that these anti-virus programs do and whether or not they&#8217;re necessary. I hope to [...]]]></description>
			<content:encoded><![CDATA[<div class="sectionHeader">Introduction</div>
<p>There has been a lot of debate recently over whether or not it&#8217;s a good idea to run an anti-virus program if you&#8217;re using Linux.  Reading the forums, I see a lot of misunderstandings, particularly around what exactly it is that these anti-virus programs <em>do</em> and whether or not they&#8217;re necessary.  I hope to clear up some of the confusion regarding the anti-virus situation on Linux.</p>
<p></p>
<div class="sectionHeader">What a Linux anti-virus is NOT</div>
<p>When you think of an anti-virus program, especially if you&#8217;re coming from a Windows world, you think of a program that runs in the background and scans files as they are accessed (or, perhaps you have your entire system scanned on a regular basis) to see if anything is infected with a virus.  This is an effective way of detecting and removing viruses on a desktop computer; and for a Windows machine, it&#8217;s all but a necessity given the vast amount of threats circulating on the Internet.</p>
<p>Linux anti-virus programs don&#8217;t work this way, because Linux anti-virus programs aren&#8217;t meant to protect the desktop machine from Linux viruses.  <strong><em>An anti-virus program running on Linux is designed to detect Windows viruses</em></strong>, so that they aren&#8217;t spread, unknowingly, by the Linux user.</p>
<p></p>
<div class="sectionHeader">So why care about Windows viruses on Linux?</div>
<p>If you&#8217;re running Linux, you are, in a practicality, immune from a Windows virus.  So why would you want to bother scanning your files &#8211; files that won&#8217;t work on your computer, anyway (except, for example, through Wine) &#8211; for viruses that have no effect on you?  Well, the simple answer is, you wouldn&#8217;t.  But it is more complex than that.  I&#8217;ll explain.</p>
<p><strong>Mail servers</strong><br />
The vast majority of Linux anti-virus programs run on mail servers.  These are the computers that your mail client connects to when you want to send or receive an email.  Since email is one of the main way viruses and trojan horses spread, these servers are the &#8220;front-line&#8221; in the battle to stop computer viruses.  And, since so many of these servers run Linux, it&#8217;s clear to see the need for a Linux program to detect Windows viruses.  If you&#8217;re running a mail server, whether it be for your home or office, you should definitely be using an anti-virus program to intercept any naughty files that might be trying to move in or out of your network via email.</p>
<p><strong>File servers</strong><br />
Another place where you&#8217;d want to run an anti-virus program is on a file server shared my multiple users, even if you trust all of these users.  File servers are basically repositories for data; some of that data might come to exist on your server through legitimate sources, but there&#8217;s no way for you to know where each and every file originated.  Running an anti-virus ensures that if someone uploads an infected file, say, downloaded from a Peer-to-Peer network, your file server will detect the threat and stop any other users from becoming infected.</p>
<p></p>
<div class="sectionHeader">So what about Linux on the desktop?</div>
<p>Now that you understand what exactly these anti-virus programs for Linux do, it&#8217;s up to you to decide whether or not you want to implement them if you&#8217;re just running a standard Linux desktop machine.  If you have Windows computers on your network, and you&#8217;re sharing files, it&#8217;s probably a good idea to run something like <a href="http://www.clamav.net/">ClamAV</a>, to keep those other machines safe.</p>
<p>Let me explain how I use my Linux Anti-Virus program on my desktop.  I use ClamAV, but I don&#8217;t keep it running in the background (this uses up resources, and since I&#8217;m not running a mail server or transferring lots of files, it really isn&#8217;t necessary). I only use it from the command line when there is a specific file of questionable legitimacy I want to test; this is a great service I can provide to Windows-using friends.  Since I&#8217;m immune to these viruses, I can check out files before they download them.</p>
<p></p>
<div class="sectionHeader">Conclusion</div>
<p>I hope I&#8217;ve cleared up some of the confusing around Linux anti-virus programs, and that I&#8217;ve answered the oft-repeated question, &#8220;Do I need to run an Anti-Virus on Linux?&#8221;  In reality, the type of setup you have, and the quantity of your paranoia dictate the answer to this question; but for most people, it simply isn&#8217;t necessary to run an anti-virus in Linux.</p>
]]></content:encoded>
			<wfw:commentRss>http://techthrob.com/2009/03/02/do-i-need-an-antivirus-program-on-linux/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Will Ajax Runtime Environments Create Web 3.0?</title>
		<link>http://techthrob.com/2009/03/02/will-ajax-runtime-environments-create-web-30/</link>
		<comments>http://techthrob.com/2009/03/02/will-ajax-runtime-environments-create-web-30/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 21:23:26 +0000</pubDate>
		<dc:creator>Jonathan DePrizio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.techthrob.com/wp/wordpress/?p=79</guid>
		<description><![CDATA[Introduction Web 2.0 was marked by the development of web-based applications. Things really took off when &#8220;mashups&#8221; began to appear; the ability to take information from multiple sites and create a unique service, based on the web, that provided a sum greater than the whole of its parts. But the major limitation to all these [...]]]></description>
			<content:encoded><![CDATA[<div class="sectionHeader">Introduction</div>
<p>Web 2.0 was marked by the development of web-based applications.  Things really took off when &#8220;mashups&#8221; began to appear; the ability to take information from multiple sites and create a unique service, based on the web, that provided a sum greater than the whole of its parts.  But the major limitation to all these services is that they existed solely in the realm of the Internet, and data was stored on somebody else&#8217;s servers.</p>
<p>The introduction of Ajax Runtime Environments is poised to change all that.  Adobe&#8217;s Air platform and Mozilla&#8217;s XULRunner allow coders to write applications using the technology of Web 2.0 &#8211; XML, Ajax, and Javascript &#8211; and transfer what was once a web-only platform to the user&#8217;s desktop.</p>
<p></p>
<div class="sectionHeader">What this brings to the table</div>
<p>Traditionally, Web 2.0 applications were limited to content already in existence on the web.  They relied largely upon user-uploaded content to various sites (Flickr being a great example), as well as the large databases maintained by corporations (Amazon.com&#8217;s API, which allows you to query their products, being a good example of this).</p>
<p>These desktop-based applications will still have access to this web-based content, but it is also able to utilize what&#8217;s most important to the user &#8211; the files located on his or her desktop and local network.  Combining this data with the information stored can bring about limitless possibilities.  </p>
<p>A quick example: imagine an application that can sort and browse through the photos you took on a recent trip to Spain.  The application then queries Flickr for other people&#8217;s photos of the same locations; together, you now have not only your own photos, but access to pictures taken by the entire web community.  Another example: you have an application to <a href="/tech/alexandria.php">manage your personal book collection</a>.  This web-enhanced app, running on your desktop, is now able to lookup what books you might like to read, based on recommendations from Amazon.com and other sites.  The possibilities are endless.</p>
<p></p>
<div class="sectionHeader">Getting in on the ground floor</div>
<p>We&#8217;ve already seen the beginning of such programs.  Miro, an application for downloading and watching internet-based TV, uses the Mozilla XULRunner Runtime Environment.  Songbird, an iTunes-like music player, also utilizes the XULRunner environment.  Joost, an application similar to Miro, was created by the founders of Skype and Kazaa, and uses p2p technology to distribute vidcasts over the internet.  All of these applications have a few key things in common: they run on the desktop, they are cross-platform, easy to develop, and can easily leverage the full power of the Internet to deliver content and an experience not limited by the traditional methods of desktop-based programs.</p>
<p></p>
<div class="sectionHeader">Who knows what the future may bring</div>
<p>Like the emergence of Web 2.0, it&#8217;s impossible to tell where things will end up going.  But the possibilities of combining the desktop with the collective resources of the Internet-at-large are seemingly endless.  My prediction is that we&#8217;ll see applications that become as integral a part of our computing experience as services like Gmail and Flickr have become in the past few years.</p>
]]></content:encoded>
			<wfw:commentRss>http://techthrob.com/2009/03/02/will-ajax-runtime-environments-create-web-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Birth of the World Wide Web &#8211; A Breif History</title>
		<link>http://techthrob.com/2009/03/02/birth-of-the-world-wide-web-a-breif-history/</link>
		<comments>http://techthrob.com/2009/03/02/birth-of-the-world-wide-web-a-breif-history/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 20:24:16 +0000</pubDate>
		<dc:creator>Jonathan DePrizio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.techthrob.com/wp/wordpress/?p=38</guid>
		<description><![CDATA[Before the Web: Hypertext The First Web Server (&#169;) Sir Tim Berners-Lee is credited with inventing the World Wide Web; he wrote the first web browser, aptly named WorldWideWeb, and the first web server (software used to transmit webpages from a server to a user&#8217;s computer). However, the idea of an inter-connected system of information, [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Before the Web: Hypertext</strong></p>
<div style="float: right; padding-left: 1em; padding-bottom: 1em; text-align: center; font-size: small; width: 250px;"><a href="images/httpd_NEXT.jpg"><img src="/essays/images/httpd_NEXT_small.jpg" alt="The First Web Server" class="rightWrapImage" style="border: 0;" /><br />The First Web Server</a> <a href="http://flickr.com/photos/sbisson/298158373/">(&copy;)</a></div>
<p>Sir Tim Berners-Lee is credited with inventing the World Wide Web; he wrote the first web browser, aptly named WorldWideWeb, and the first web server (software used to transmit webpages from a server to a user&#8217;s computer).  However, the idea of an inter-connected system of information, or Hypertext, existed long before Tim Berners-Lee created the Web.</p>
<p>Hypertext is simply the idea of a system in which information is inter-connected; a user can instantly find material on a subject while learning about a related topic.  In the web, this is accomplished with Hyperlinks: a word or phrase in a document is &#8220;linked&#8221; to another document containing more information about that subject.  The concept of Hypertext dates back to the dawn of the computing era in the early twentieth century.  <a href="http://www.ibiblio.org/pioneers/bush.html">Vannevar Bush</a>, as early as 1945, <a href="http://www.theatlantic.com/doc/194507/bush">described a electromechanical device called a &#8220;Memex,&#8221;</a> which allowed the user to instantly view and cross-reference the entire contents of libraries.  His concept used microfilm and levers, and never came to fruition, but by the 1980s computing and the internet were sufficiantly developed such that Tim Berners-Lee was able to create a complete Hypertext system.</p>
<p><strong>The Web in its Infancy</strong><br />
While at <a href="http://public.web.cern.ch/Public/Welcome.html">CERN</a>, TimBL experemented with the idea of Hypertext and linked documents in the form of a program called <a href="http://www.w3.org/People/Berners-Lee/FAQ.html#Influences">Enquire</a>, which he used to keep track of the many people and projects there.  Though the software proved useful for him, it was never adopted by more than a few users, and eventually the program was lost altogether.  Yet Enquire proved Tim with a testing ground for Hypertext: he learned which methods worked and which didn&#8217;t, both technically and in regard to user interaction.  Eventually, when CERN asked him to develop a documentation system so scientists could share their research with one another, Tim siezed the chance to develop a multi-purpose hyperlinked system.  He called the program WorldWideWeb.</p>
<p>					WorldWideWeb was unique in that anyone could publish, view, and edit documents, from any system, anywhere on the Internet.  Previously, it was difficult for two computers to talk to each other over the Internet, because documents were kept in different formats, and computers all spoke differnet languages.  The Web provided a single language and a simple, easy to use interface; all that was necessary would be to generate enough interest so people would post their documents to the Web, and for programmers to write applications for different types of computers to use the Web.  In order to achieve this goal, Tim gave his software out for free, setting a standard which many Web software companies follow to this day.</p>
<p><strong>The Web goes World-Wide</strong><br />
			With the help of <a href="http://robert.cailliau.free.fr/ByLetter/M/Me/Welcome.html">Robert Cailliau</a>, the WorldWideWeb program, and other software developed at CERN for the web, became mature enough to convince other developers to start working on their own web software.  While the Internet hadn&#8217;t completely taken hold in Europe, companies and universities in the United States were leveraging the new technology to communicate cross-country.  It was here that Tim found the most acceptance for his invention; this is partially the reason why the <a href="w3c.shtml">W3C</a> was founded at <a href="http://www.mit.edu">MIT</a>.  </p>
<p>					In America, the <a href="http://www.usc.edu/dept/raiders/paper/">NCSA developed the Mosaic web browser</a>, which later became Netscape, and a student at the University of California developed the <a href="http://www.xcf.berkeley.edu/~wei/viola/violaHome.html">ViolaWWW</a> browser; by building Web browsers for various platforms, the number of users on the Web began to grow expenentially.  At the same time, more and more universities and researchers were putting their documents on the web; while other hypertext technologies were built, the Web was so accessable to anyone, for free, that it eventually grew to dominate the world of cyberspace.  As the number of users and webpages grew, the amount of development from companies like Microsoft increased, ensuring the success of this new technology.</p>
]]></content:encoded>
			<wfw:commentRss>http://techthrob.com/2009/03/02/birth-of-the-world-wide-web-a-breif-history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>8 Ways to Get Help with Ubuntu Linux</title>
		<link>http://techthrob.com/2009/03/02/8-ways-to-get-help-with-ubuntu-linu/</link>
		<comments>http://techthrob.com/2009/03/02/8-ways-to-get-help-with-ubuntu-linu/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 19:51:10 +0000</pubDate>
		<dc:creator>Jonathan DePrizio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Lists]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[troubleshooting]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.techthrob.com/wp/wordpress/?p=25</guid>
		<description><![CDATA[No matter what operating system you use, be it Windows, Mac OS, or Linux, you&#8217;re inevitably going to run into some problems. But, especially with Ubuntu Linux, there&#8217;s a wealth of information to help get you through your crisis. Below are eight ways to get help when you have a problem with Ubuntu. 1. Google [...]]]></description>
			<content:encoded><![CDATA[<p>No matter what operating system you use, be it Windows, Mac OS, or Linux, you&#8217;re inevitably going to run into some problems.  But, especially with Ubuntu Linux, there&#8217;s a wealth of information to help get you through your crisis.  Below are eight ways to get help when you have a problem with Ubuntu.</p>
<p>
<strong>1.  Google</strong><br />
	By far the easiest, most common method of fixing any problem.  Google will search most of the items listed below, including user guides, wikis, forums, and newsgroups.  But it&#8217;s not always the easiest way to find the solution to an obscure problem, so here are some alternatives:</p>
<p><strong>2.  Ubuntuguide.org &#8211; The Ubuntu User Manual</strong> <br />
	This <a href="http://ubuntuguide.org">User Guide</a> covers all the major aspects of Ubuntu, from installation to video driver support.  It&#8217;s a must-read for those new to Ubuntu, and especially for those just beginning in Linux.  Roughly equivalent to the printed manual you&#8217;d get in a shrink-wrapped product, the guide comes in the form of a Wiki that can answer most of your basic questions.</p>
<p><strong>3.  Ubuntuforums.org &#8211; Help in 60 Seconds</strong><br />
	The <a href="http://www.ubuntuforums.org">Ubuntu Forums</a> are a great place to go when you have a question not listed in the User Guide.  But follow rule #1 and always Google first &#8211; chances are, someone has already answered your question and google has indexed it.  People here are friendly, and help is quick; you&#8217;ll usually get a response within a few minutes.  You will have to register, though, as with all forums.</p>
<p><strong>4.  IRC Channels &#8211; Help in 60 Seconds, Redux</strong><br />
	If you don&#8217;t feel like registering on Ubuntuforums, or if you just have a quick question and want some live-feedback, consider the Ubuntu IRC channel.  Like the forums, people are friendly, knowledgeable, and courteous, and will do their best to answer your question.  The easiest way to do this under Ubuntu is to install X-chat, and connect to the Ubuntu Servers (<a href="irc://irc.ubuntu.com">irc://irc.ubuntu.com</a>); it will automatically take you into the #ubuntu channel, where you can get help quick.  Most questions are answered here in just a few minutes time.  Don&#8217;t forget to thank the people that help you!</p>
<p><strong>5.  Linux User Groups</strong><br />
	Linux User Groups, or LUGs, have been an important part of Linux support for a long time.  A LUG is where users meet to discuss various topics, help each other out with problems, and eat pizza, coffee, and/or donuts.  You can find a LUG near you on Google; lots of universities have them, also.</p>
<p><strong>6.  Application Documentation, Wikis, and Forums</strong><br />
	Most individual applications have their own documentation, including FAQ lists, troubleshooting sections, user manuals, and sometimes Wikis.  This is always a good place to look if you&#8217;re having a specific problem with a specific application.</p>
<p><strong>7.  Ask the developer</strong><br />
	If you&#8217;re using a smaller, lesser-known application, there might not be very extensive documentation available; or worse, there might not be any documentation available at all.  But most of the time, developers will put their email addresses, or some other way to contact them, on their project page &#8211; <strong>use it but don&#8217;t abuse it!</strong>  Small open source developers want to know that their programs are being used and enjoyed by others, and they want to help out when they can; but don&#8217;t deluge them with an onslaught of questions that could have been solved by step number one &#8211; Google.</p>
<p><strong>8.  If all else fails &#8211; submit a bug report</strong><br />
	Not exactly an instant solution, but if you&#8217;re having a problem that doesn&#8217;t seem to have an answer, it won&#8217;t be fixed unless you let the developers know about it!</p>
]]></content:encoded>
			<wfw:commentRss>http://techthrob.com/2009/03/02/8-ways-to-get-help-with-ubuntu-linu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Managing your Book Collection with Alexandria</title>
		<link>http://techthrob.com/2009/03/02/managing-your-book-collection-with-alexandria/</link>
		<comments>http://techthrob.com/2009/03/02/managing-your-book-collection-with-alexandria/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 19:39:36 +0000</pubDate>
		<dc:creator>Jonathan DePrizio</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[How-Tos]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[end-user]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[organization]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.techthrob.com/wp/wordpress/?p=4</guid>
		<description><![CDATA[Introduction Alexandria is an application for Linux allows you to sort and track your book collection. It makes it easy to manage your collection by allowing you to sort items into multiple libraries (for example, books at your office, in your home, or elsewhere), and adding books is as simple as entering its ISBN. Once [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction</strong><br />
Alexandria is an application for Linux allows you to sort and track your book collection.  It makes it easy to manage your collection by allowing you to sort items into multiple libraries (for example, books at your office, in your home, or elsewhere), and adding books is as simple as entering its ISBN.  Once you&#8217;ve setup your collection, you can even export it to an HTML file, to share with other users over the web.</p>
<p><strong>Installation</strong><br />
Installation is as simple as running the following command on debian-based distrobutions (such as Ubuntu):</p>
<div style="width: 50%; margin-left: 25%; padding: 2%; text-align: center; background: lightgrey; border: 1px dashed black; margin-bottom: 1em; ">sudo apt-get install alexandria</div>
<p>Or, you can visit <a href="">the Alexandria Homepage</a> to see more information on installing Alexandria on your own distrobution.</p>
<p><strong>Interface</strong><br />
The main interface for Alexandria is a simple, sleek window, separated into two columns; on the left side is your library collections, allowing you to sort books in whatever manner you please, be it by location, genre, owner, etc.  The right column displays the books contained within the selected library.</p>
<p><img width="90%" height="90%" src="/tech/alexandria_img/alexandria_mainview.png" /></p>
<p>
<strong>Adding an Item</strong><br />
Adding an item to your library is as simple as clicking the &#8220;Add Book&#8221; icon, and entering its ISBN.  Alexandria will search several sites, including Amazon.com, Barnes &#038; Noble, and several non-English sites.  When it finds your item, it is added to the library with all the relevant information, including its cover image, author, publisher, and binding.</p>
<p>For items without ISBNs (mainly older items), you can manually add the book&#8217;s information, and select a cover image manually from a website like Amazon.com, or scan in your own image.</p>
<p><strong>Managing Items</strong><br />
Once an item is added to the database, you can then rate the book on a scale from one to five stars, with the highest-rated items receiving a &#8220;heart&#8221; icon, indicating that it is one of your favorites.  You can also add notes, or indicate whether you&#8217;ve loaned the book out, including the date of the loan, and who it has been loaned to; so you never lose track of your books.</p>
<p><img src="/tech/alexandria_img/alexandria_item.png" /></p>
<p></p>
<p><strong>Searching your Collection</strong><br />
One of my favorite features of Alexandria is its search function.  The program allows you to search by author, publisher, title, or other characteristics.  This is particularly useful if you have a large collection, and you&#8217;re looking for a specific item; or to see if you&#8217;re missing a title by a favorite author.</p>
<p><img width="90%" height="90%" src="/tech/alexandria_img/alexandria_search.png" /></p>
<p>
<strong>Exporting</strong><br />
Aleandria allows you to export to various formats, including Tellico, KDE&#8217;s physical media collection software (which also supports music and videos, among others).  But my favorite is the ability to export to a static web page, to show off your library to friends.  The webpage displays book covers, titles, publishers, and ISBNs.  This is a great feature to share with friends that are as interested in reading as you are; you can view each other&#8217;s libraries and borrow books &#8211; and then indicate that the book has been loaned out using Alexandria&#8217;s interface.</p>
<p><img width="90%" height="90%"  src="/tech/alexandria_img/alexandria_export.png" /></p>
<p>
<strong>Web View</strong><br />
<br /><img src="/tech/alexandria_img/alexandria_web.png" /></p>
<p>
<strong>Conclusion</strong><br />
While Alexandria has some limitations that don&#8217;t make it as powerful as Tellico, it&#8217;s more than adequate for small to mid-sized home libraries.  It&#8217;s a great way to keep track of your books, and show off your collection to friends and family.  I haven&#8217;t had any stability problems, and I look forward to the new features that are currently in the works!</p>
<p><strong>Links</strong><br />
<a href="http://alexandria.rubyforge.org/">Alexandria Homepage</a><br />
<a href="http://periapsis.org/tellico/">Tellico Homepage</a></p>
]]></content:encoded>
			<wfw:commentRss>http://techthrob.com/2009/03/02/managing-your-book-collection-with-alexandria/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
